我遇到了 ftell 返回错误值的问题。我的代码在 linux 上的 netbeans 中运行时报告正确,但完全相同的代码在 windows 上的 netbeans 中运行(使用 mingw)报告不正确。文件指针指向在 BINARY_READ 中打开的文件。在我的 linux netbeans 中,运行我的子程序后,ftell 报告 35。在我的 windows netbeans 中,调用相同的子程序后,ftell 是 3621。我跟踪了我的子程序,以下语句似乎导致了问题:
if (((header_size = getc (fp)) == EOF) || (header_size == 0))
在我的 linux netbeans 上,此语句后的 ftell(fp) 为 1。但在我的 windows netbeans 上,此语句后的 ftell(fp) 为 3585。
什么可能导致问题?