我正在編寫一個程序,它接收一個文件並將其拆分爲多個用戶指定大小的小文件,然後再將多個小文件重新加入。文件IO,處理CRLF
代碼必須努力C和C++
我對多編譯器編譯。
我閱讀和使用功能
fread()
和fwrite()
fread()
和fwrite()
手柄字節,而不是字符串寫入文件。
我遇到的問題屬於CRLF。如果我正在閱讀的文件包含CRLF,那麼當我將文件拆分並重新連接時,我想保留它。如果文件包含LF,那麼我想保留LF。
不幸的是,fread()
似乎存儲CRLF作爲\n
(我認爲),以及任何由fwrite()
寫的是編譯器的依賴性。
我該如何解決這個問題?
'fread'和'fwrite'是標準C函數(它們在'cstdio'頭文件中聲明),而不是STL。 – dreamlax 2010-05-27 14:59:11
Mybad,編輯.. – aCuria 2010-05-27 15:01:34
注意:以文本模式打開文件將導致文件功能將平臺特定的EOL序列轉換爲'\ n'。如果以二進制模式打開文件,則不會發生翻譯。 – 2010-05-27 16:41:38