为了账号安全,请及时绑定邮箱和手机立即绑定

谁可以帮忙在自己机器上跑一遍,说一下是不是和我这一样啊。

谁可以帮忙在自己机器上跑一遍,说一下是不是和我这一样啊。

慕尼黑5688855 2023-03-15 21:17:08
我的部分代码是这样,#define MAXLINE 90char line[100];//保存一行while(fgets(line,MAXLINE,data)!=NULL)//对每行进行处理一般长度不够MAXLINE的。我看了文件的第一行是“职业装/n 配饰/n ”,没有双引号,/n后面是两个空格而紧跟着fputs(line,stdout);printf("%d",len);不仅fputs打印之后没有换行直接输出了16,而且16也不对啊,后面两个空格,至少是17啊,再加上换行符应该是18吧,而且fputs输出后应该换行啊。感觉fputs不仅没有保存换行符,而且后面两个空格好像只读了一个。
查看完整描述

2 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

fgets函数从文件读取'\n'并存储,在'\n'后再增加一个'\0'构成字符串。但fgets函数需要指定读入的字符数,如果指定了n,则最多只能读取n-1个。fgets在读取了n-1个字符、读到了'\n'或遇到了EOF三种情况之一时都结束读取。

查看完整回答
反对 回复 2023-03-18
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

fgets会读取回车符
你的len不知道是怎么赋值的

查看完整回答
反对 回复 2023-03-18
  • 2 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信