C语言fgets函数读取换行符吗?

我的部分代码是这样,#defineMAXLINE90charline[100];//保存一行while(fgets(line,MAXLINE,data)!=NULL)//... 我的部分代码是这样,
#define MAXLINE 90
char 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不仅没有保存换行符,而且后面两个空格好像只读了一个。
谁在自己机器上跑一遍,说一下是不是和我这一样啊。。
展开
 我来答
White_MouseYBZ
2014-02-17 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6485万
展开全部
fgets函数从文件读取'\n'并存储,在'\n'后再增加一个'\0'构成字符串。但fgets函数需要指定读入的字符数,如果指定了n,则最多只能读取n-1个。fgets在读取了n-1个字符、读到了'\n'或遇到了EOF三种情况之一时都结束读取。
更多追问追答
追问
额,我在问这个问题前,肯定自己已经看了fgets函数怎样工作的,我就是疑惑为什么我这里的程序和fgets函数描述的好像不一样,它没有保存\n以及最后两个空格只读了一个空格。。
追答

看看这里,哪有你说的情况,一切与fgets相符。(文件的9后有两个空格,然后是回车)

TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
sunnyhouyq
2014-02-17 · TA获得超过648个赞
知道小有建树答主
回答量:515
采纳率:100%
帮助的人:517万
展开全部
fgets会读取回车符
你的len不知道是怎么赋值的
追问
噢,int len=strlen(line);
但是感觉fgets没有读取换行符啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式