C 打印标题定义的大小字符串
我试图在文件中打印一个固定大小的字符串。大概是这样的:C 打印标题定义的大小字符串,c,C,我试图在文件中打印一个固定大小的字符串。大概是这样的: #define SIZE 30 main() { FILE *fp = fopen("myfile.txt","w+"); char s[10]; sprintf(s, "my text"); fprintf(fp, "%SIZEs", s); fclose(fp); } 但是我不断地犯错误。。帮助?您应该定义格式字符串,如下所示: fprintf(fp, "%*s", SIZE, s); // Right
#define SIZE 30
main()
{
FILE *fp = fopen("myfile.txt","w+");
char s[10];
sprintf(s, "my text");
fprintf(fp, "%SIZEs", s);
fclose(fp);
}
但是我不断地犯错误。。帮助?您应该定义格式字符串,如下所示:
fprintf(fp, "%*s", SIZE, s); // Right aligned string
fprintf(fp, "%-*s", SIZE, s); // Left aligned string
从printf
手册页:
精度可以编写
“*”
来代替十进制数字字符串,以指定精度在下一个参数中给定
当然,调试器会有所帮助。阅读编译器错误(如果有)也会有帮助。实际上,没有编译错误,但它不会在文件上打印任何内容。这就解决了,非常感谢。^^^@Adao:没问题。当你可以的时候一定要记得。更好的是:
fprintf(fp,“%”大小“s”,s)代码>以避免在长度为编译时常量的情况下浪费CPU周期。@TimCooper Right,已修复。