我正在尝试在文件中打印一个固定大小的字符串。像这样:
#define SIZE 30
main()
{
FILE *fp = fopen("myfile.txt","w+");
char s[10];
sprintf(s, "my text");
fprintf(fp, "%SIZEs", s);
fclose(fp);
}
但我一直在收到错误..帮助?
答案 0 :(得分:3)
您应该定义格式字符串,如下所示:
fprintf(fp, "%*s", SIZE, s); // Right aligned string
fprintf(fp, "%-*s", SIZE, s); // Left aligned string
来自printf
手册页:
精确度
可以编写"*"
来代替十进制数字字符串,以指定在下一个参数中给出精度