受保護的虛成員函式
<streambuf> <iostream>

std::basic_streambuf::xsgetn

streamsize xsgetn (char_type* s, streamsize n);
獲取字元序列
受控輸入序列中檢索字元,並將它們儲存在 s 指向的陣列中,直到提取了 n 個字元或到達序列末尾。

basic_streambuf 中的預設行為等同於呼叫 sbumpc n 次,如果任何呼叫返回 traits_type::eof(),則停止。

這是一個虛成員函式,派生類可以提供更高效的實現。事實上,大多數庫實現都會重寫它以用於 basic_filebuf 和/或 basic_stringbuf

引數

s
指向要複製字元序列的陣列的指標。
成員型別 char_type流緩衝區(第一個類模板引數)中字元的型別。
n
要檢索的最大字元數。
這應該是一個非負值。
streamsize 是一個帶符號整型。

返回值

複製的字元數。
streamsize 是一個帶符號整型。

資料競爭

修改 s 指向的陣列中最多前 n 個字元。
修改*流緩衝區*物件。
對同一陣列或同一流緩衝區物件的併發訪問可能會引入資料爭用。

異常安全

基本保證:如果丟擲異常,則流緩衝區處於有效狀態(這也適用於標準派生類)。

無效引數會導致未定義行為

另見