-4

我正在尝试在文件中打印一个固定大小的字符串。像这样的东西:

#define SIZE 30
main()
{
   FILE *fp = fopen("myfile.txt","w+");
   char s[10];
   sprintf(s, "my text");
   fprintf(fp, "%SIZEs", s);
   fclose(fp);
}

但我不断收到错误..帮助?

4

1 回答 1

3

您应该定义格式字符串,如下所示:

fprintf(fp, "%*s", SIZE, s);  // Right aligned string
fprintf(fp, "%-*s", SIZE, s); // Left aligned string

printf手册页:

可以写精度
而不是十进制数字字符串"*"来指定在下一个参数中给出精度

于 2013-07-01T19:02:18.527 回答