fread()和strlen()返回值的差异?

C语言fread()读取文件到*q并且返回读取的字符数strlen(*q)返回这个地址的字符数结果两个的返回值有一点差异,最后发现差异数刚好是*q中换行符的个数,也就是说... C语言 fread()读取文件到*q并且返回读取的字符数
strlen(*q)返回这个地址的字符数
结果两个的返回值有一点差异,最后发现差异数刚好是*q中换行符的个数,也就是说:
fread()返回的读取字符数不包含换行符的个数?
strlen()返回的字符数包含换行符的个数?
是这样吗?
展开
 我来答
myqoo02
2012-08-01 · TA获得超过1068个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:128万
展开全部
fread返回值和你采用text还是binary模式打开文件有关,你提到的换行符应该是text模式下返回0x0a一个字节,而在binary模式下返回0x0d 0x0a两个字节(windows系统)。fread以实际读取直到EOF或要求长度时的字节数,strlen则是以'\0'来判断是否字符串结尾,你检查下是否正确添加了字符串结尾字符,另外为什么是*q,q是字符串数组吗??不然两个函数都是操作指针的,没必要用*解引用。
追问
是 q是 字符串数组
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式