Share via


basic_streambuf::underflow

受保護的虛擬函式,從輸入資料流擷取目前的項目。

virtual int_type underflow( );

傳回值

目前的項目。

備註

受保護的虛擬成員函式竭力從輸入資料流擷取目前項目 ch ,,而不需前進現行資料流位置,並將其傳回做為 traits_type::to_int_type(ch)。 它就可以採用各種方式:

  • 如果可讀取位置可用, ch 為讀取位置中的項目。 如需詳細資訊,請參閱 basic_streambuf 類別的 < 備註 > 一節。

  • 可以指派輸入緩衝區的新或其他記憶體進行讀取位置可用,然後寫入,從某個外部來源,一或多個項目。 如需詳細資訊,請參閱 basic_streambuf 類別的 < 備註 > 一節。

如果函式未能成功,則傳回 traits_type::eof() 或擲回例外狀況。 否則,它會傳回輸入資料流中目前的項目,如轉換。 預設行為會傳回 traits_type::eof()

虛擬 underflow 函式,與 同步處理溢位 函式,定義 streambuf的特性衍生類別。 每個衍生類別可能會有不同的實作,則為 underflow ,但呼叫資料流類別的介面是相同的。

underflow 函式會像 sgetcsgetn 的公用 streambuf 函式經常被呼叫,當取回區是空的時,不過,其他類別,包括資料流類別,可以隨時呼叫 underflow

underflow 函式會將字元提供取回區從輸入來源。 如果取回區包含字元, underflow 會傳回第一個字元。 如果取回區是空的,使其填滿取回區並傳回留在把它在取回區) 的下一個字元 (。 如果沒有其他可用字元,則 underflow 會傳回 EOF 和左取回區空間。

strstreambuf 類別, underflow 會由對 overflow的呼叫動態配置的存取儲存體調整 egptr 指標。

需求

標題: <streambuf>

命名空間: std

請參閱

參考

basic_streambuf 類別

iostream 程式設計

iostreams 慣例