protected virtual member function
<fstream>

std::basic_filebuf::setbuf

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

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

否則,物件的緩衝方式會以一種依賴於庫實現的方式受到影響。

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

引數

s, n
由實現定義。
如果兩者都為零,並且物件尚未執行任何輸入/輸出操作,則流將變為無緩衝。
成員型別 char_type流緩衝區(第一個類模板引數)中字元的型別。
streamsize 是一個帶符號整型。

返回值

返回 this

資料競爭

如果兩個引數都為零,它將修改 basic_filebuf 物件(同時訪問同一物件可能會引入資料爭用)。
否則,不確定。

異常安全

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

另見