我有一個問題,其中ftell返回一個不正確的值。我的代碼在Linux上的netbeans上運行時報告正確,但是在windows上使用mingw運行的netbeans中完全相同的代碼報告不正確。文件指針指向在BINARY_READ中打開的文件。在我的linux netbeans中,在運行我的子程序後,ftell報告35.在我的windows netbeans中,在調用相同的子程序之後,這個子程序是3621.我追查了我的子程序,並且下面的語句似乎導致了這個問題:fllll返回不正確的值
後1 ,但在我的Windows的NetBeans這個語句結果if (((header_size = getc (fp)) == EOF) || (header_size == 0))
在我的Linux NetBeans中,該FTELL(FP),這句話後FTELL(FP)是3585.
可能會造成什麼問題呢?
你是否用模式「b」打開文件? –
哦快照..我有不正確的定義爲READ_BINARY和WRITE_BINARY。它們分別是「r」和「w」,而不是「rb」和「wb」。謝謝 –