在二進制模式下使用格式化的IO操作有什麼問題,特別是如果我只處理文本文件?在二進制模式下使用格式化的IO操作?
(1):
對於二進制文件,閱讀和與提取和插入運算符(< <和>>)和函數寫數據,如函數getline是沒有效率的,因爲我們並不需要格式化的任何數據並且數據可能不會按行格式化。
(2):
通常情況下,二進制文件I/O不使用傳統的面向文本的< <和>>運算!它可以完成,但這是一個高級話題。
「高級話題」的本質是讓我質疑這兩者的混合。有一個mingw bug與查找和告訴功能可以解決打開二進制模式。使用< <和>>在二進制模式下與文本模式相比是否存在任何問題,或者如果打開二進制文件,我是否必須始終使用未格式化的IO? As far as I can tell for text files,我只需要考慮回車符(\ r),這些回車符不會被隱式刪除/添加給我,但是所有這些都是要考慮的嗎?
文件的*二進制模式*表示在讀取或寫入文件('ios :: binary')時不會發生翻譯。一種常見的翻譯是行結尾。這與使用'istream :: read'和'ostream :: write'直接讀取和寫入未格式化的數據不同。 –