其他分享
首页 > 其他分享> > C语言中fscanf与fprintf的换行问题

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