C语言中fscanf与fprintf的换行问题
作者:互联网
对于这两个函数一直有一些困扰,最近通过编程,得到了解决。比如有一个文本文件,里面的储存格式是这样的,有n行,每一行格式为:姓名 分数1 分数2 分数3。对于这样的有规律的读数据,最方便的就是fscanf函数:
FILE *fushi_file = fopen("E:\\C_code\\fushi.dat", "r");
fscanf(fushi_file, "%s %f %f %f", &newp->sname, &newp->sbishi, &newp->smianshi, &newp->skouyu);
fclose(fushi_file);
这个中间根据有多少行,来循环就是。他自己会换行。
但是fprintf有些不一样,如果要按照标准格式输出,那么应该这么写:
fprintf(fp, "%s %f %f %f %f %d\n", student[k]->sname, student[k]->sbishi, student[k]->smianshi, student[k]->skouyu, student[k]->ave, student[k]->paimin);
可以看到,如果我们想输出的文件按照行有规律地排列,那么应该在最后面加上换行符(\n)。这样输出的文件就好看多了。
标签:fushi,file,fscanf,C语言,fprintf,student,newp 来源: https://blog.csdn.net/HK_Joe/article/details/87900248