iehtian 发表于 2024-5-10 11:14

(C语言)为什么ftell得到的长度与读入的长度不一致

我对一个文本文件做处理,读入到一个数组当中,为什么这种方法得到的长度与实际数组长度不一致呢,是我理解有偏差吗?

yanggoodfeng 发表于 2024-5-10 11:35

ftell有\r\n吧

iehtian 发表于 2024-5-10 11:54

yanggoodfeng 发表于 2024-5-10 11:35
ftell有\r\n吧

有道理,我针对这个方面研究一下

kof888 发表于 2024-5-10 13:27

用16进制编辑器看看你的fp有多大。

go4399 发表于 2024-5-10 13:51

本帖最后由 go4399 于 2024-5-10 14:53 编辑

fopen(..., "rb")
再看看是不是一样

fread和fwrite适用于二进制模式打开的文件
fgets和fputs,fscanf和fprintf适用于文本模式打开的文件

fopen(..., "r") 是以文本模式打开的, 文本模式下会自动把\n转换为\r\n
用fread读取本就不合规范
页: [1]
查看完整版本: (C语言)为什么ftell得到的长度与读入的长度不一致