标题:fgets中使用sizeof和strlen的区别
取消只看楼主
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
结帖率:93.75%
已结贴  问题点数:10 回复次数:1 
fgets中使用sizeof和strlen的区别


在fgets()中使用strlen为什么不能得到字符串的长度,而是到空格就截止了。
而在可以使用strlen读取程序中字符串的长度,直到结束位置截止。
是由于操作系统和文件默认编码方式不同导致的空格编码方式不同导致的么?
搜索更多相关主题的帖子: strlen sizeof 区别 fgets 不同 
2019-12-22 00:04
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:0 
回复 2楼 自学的数学
你说的这些我都是知道的,但是怎么用你回答的内容解决我说的这个现象。
那为什么我将字符串放到文件里strlen(a)返回的是空格前的字符长度,而将字符串放到数组中,strlen(a)返回的是字符总长度。strlen(a)在读取文件内容和数组内容时有什么不同么?
当fgets(a,strlen(a),fp);时,strlen(a)时,strlen读取数组a里面的内容是什么,为什么会导致读取不全的问题?

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-12-23 14:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498546-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.068593 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved