代码如下:
#include<stdio.h>
int main()
{
FILE * fp;
fp = fopen("file.txt","w");
fprintf(fp,"%-8d%-8d%-8d\n",53,263,15364);
fprintf(fp,"%-8d%-8d%-8d\n",643,2643,64352);
fprintf(fp,"%-8d%-8d%-8d\n",4234,263,34523);
fprintf(fp,"%-8d%-8d%-8d\n",54,53252,5352);
fclose(fp);
return 0;
}
运行结果:
为什么会出现如控制台一样对齐的效果?
原因:这里依旧有源代码%8d的效果,但是在记事本中的微软雅黑是比例字体(变宽字体),所以如果把这个显示字体改成等宽字体如宋体
显示效果如下:
这里小编把文件格式改为word,代码如下
#include<stdio.h>
int main()
{
FILE * fp;
fp = fopen("file.doc","w");//把文件改成word
fprintf(fp,"%-8d%-8d%-8d\n",53,263,15364);
fprintf(fp,"%-8d%-8d%-8d\n",643,2643,64352);
fprintf(fp,"%-8d%-8d%-8d\n",4234,263,34523);
fprintf(fp,"%-8d%-8d%-8d\n",54,53252,5352);
fclose(fp);
return 0;
}
此时运行结果为:
这里会有一个误区:不是说微软雅黑是变宽字体吗?
为什么这里感觉是等宽的
解释:这里是因为word中字体较小效果不明显,但选中后明显可以知道它是变宽的