+ -
当前位置:首页 → 问答吧 → fread函数的疑问。。

fread函数的疑问。。

时间:2011-09-02

来源:互联网

我用long i=fread(char *dest,1,len,fd)来从文件读取数据。
为什么返回的时候,i=1000多。。也就是读了1000多个字节!

而我用strlen(dest)来取长度。。确只有200多。。

为什么呢?

作者: nanbazhangbiao   发布时间: 2011-09-02

i的值应该是根据你指定的len来决定的,除非读到文件结束。
读出来的数据里有\0,用strlen取到的自然不等于i。

作者: louyong0571   发布时间: 2011-09-02

楼上正解,当你用strlen()读取dest的长度时,遇到\0将会停止

作者: q345852047   发布时间: 2011-09-02

引用 1 楼 louyong0571 的回复:
i的值应该是根据你指定的len来决定的,除非读到文件结束。
读出来的数据里有\0,用strlen取到的自然不等于i。

文件读出来的数据中间会有'\0',你确定?

作者: nanbazhangbiao   发布时间: 2011-09-02

不到结束?'\0'哪儿来?

作者: nanbazhangbiao   发布时间: 2011-09-02