protected virtual member function
<fstream>

std::basic_filebuf::underflow

int_type underflow();
在下溢時獲取字元
返回當前輸入位置的字元,而不移動輸入位置指標。

在此之前,此函式會嘗試從關聯的檔案中讀取字元,並(如果物件維護著一個中間緩衝區)透過修改內部輸入緩衝區指標(gptregptreback)來提供這些字元。

如果沒有更多可用字元,並且函式未能從關聯檔案中讀取更多字元,則它會返回檔案結束值(traits_type::eof()),表示失敗。

此虛成員函式重寫了繼承自 basic_streambuf::underflow 的成員,後者在讀指標gptr)沒有可用讀取位置時,會被諸如 sgetc 等成員呼叫以請求新字元。

此成員函式的功能類似於 uflow,不同之處在於輸入位置不會被移動。

引數



返回值

受控輸入序列當前位置的字元,使用成員 traits_type::to_int_type 轉換為 int_type 型別的值。
如果受控輸入序列中沒有更多字元可讀,則返回檔案結束值(traits_type::eof())。
成員型別int_type是能夠表示任何字元值或特殊*檔案結束*符的整型。

資料競爭

修改 basic_filebuf 物件。
同時訪問同一個檔案流緩衝區物件可能導致資料爭用。

異常安全

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

另見