我偶然发现了一个问题,我试图在一个文件中读取,根据windows,大小为'87 .1 kb',并在程序中使用ftell方法,返回'89282',有效地确认了哪些窗口在说。
那么为什么每个方法从文件中读取字符只返回173或174个字符?
该文件是一个重命名为.txt的.GIF文件(我正在尝试构建一个可以完全加载数据的程序,因为我正在编写一个程序来下载在线图像并需要对它们进行比较)。 / p>
到目前为止,我已经尝试过:
我完全不知道为什么它不读取超过173/174个字符的内容。有什么我需要补偿或期望在较低的水平?我需要扩展一些缓冲区或者需要注意的一些奇怪的角色?
答案 0 :(得分:3)
这是一件值得关注的事情。在十六进制查看器中查看该文件,看看是否在某个173/174偏移处附近有一个CTRL-Z。
然后检查您是否使用"r"
模式打开它。
如果是这样,可能是文本和二进制文件之间的Windows转换正在停止您的读取,因为CTRL-Z是文本模式下的EOF标记。如果是这样,您可以使用"rb"
上的fopen
模式解决此问题。
如果失败,您需要发布展示问题行为的最小代码段。对于我们这里的一些人来说,这可能是显而易见的,但通常只有在我们能够看到代码的情况下: - )