受保護的虛成員函式
<fstream>

std::filebuf::setbuf

streambuf* setbuf (char* s, streamsize n);
設定緩衝區
影響輸出操作的緩衝方式

如果兩個引數都為零,並且物件上尚未執行任何輸入/輸出操作,則流的輸出將變為無緩衝:對於無緩衝流,所有輸出都直接寫入檔案(pptrpbase 始終是空指標,強制輸出操作呼叫 overflow)。

否則,物件的緩衝方式會受到影響,具體方式取決於庫的實現。

此虛成員函式重寫了繼承的成員 streambuf::setbuf,由成員 pubsetbuf 呼叫以影響內部緩衝區。

引數

s, n
由實現定義。
如果兩個引數都為零,並且物件尚未執行任何輸入/輸出操作,則流將變為無緩衝。
streamsize 是一個帶符號整型。

返回值

返回 this

資料競爭

如果兩個引數都為零,它會修改 filebuf 物件(同一物件的併發訪問可能會導致資料爭用)。
否則,不確定。

異常安全

基本保證:如果丟擲異常,*檔案流緩衝區*處於有效狀態。

另見