2014-03-25 23 views
0

那麼我正在研究如何打開一個二進制文件的方式,我看到你可以打開一個用於r + b和a + b但是最後的區別是什麼,因爲這就是它的定義。Binary中的文件模式

a + b:以二進制模式打開文件以進行讀寫操作。 r + b:以二進制模式打開文件以進行讀寫操作。

+0

http://www.cplusplus.com/reference/cstdio/fopen/ –

+0

在「a + b」情況下文件位置將在文件末尾,在「r + b」 - 開始處。 – Ryzhehvost

+0

@MichaelWalz你的裁判確實回答我的問題應該作爲回答 – user2861799

回答

3

a + b 可供閱讀和附加(寫在文件末尾)。如果該文件不存在,則會創建該文件。讀取的初始文件位置位於文件的開頭,但輸出總是附加到文件的末尾。

r + b可供閱讀和書寫。該流位於文件的開頭。

w + b可供閱讀和寫作。如果該文件不存在,則會創建該文件,否則會被截斷。該流位於文件的開頭。

因此,A + B將創建文件,如果它不存在,當你寫它,它會追加到該文件,

R +,如果它尚不B就無法創建文件存在(fopen()將失敗),寫入文件將從文件的開始處開始。

+0

謝謝你,因爲我意識到在我的程序中我有一個+ B,它不會允許我寫入已經在文件中的記錄,但在閱讀解釋我認識到r + b是我需要的。 – user2861799