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)。这样输出的文件就好看多了。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值