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 函式會像 sgetc 和 sgetn 的公用 streambuf 函式經常被呼叫,當取回區是空的時,不過,其他類別,包括資料流類別,可以隨時呼叫 underflow 。
underflow 函式會將字元提供取回區從輸入來源。 如果取回區包含字元, underflow 會傳回第一個字元。 如果取回區是空的,使其填滿取回區並傳回留在把它在取回區) 的下一個字元 (。 如果沒有其他可用字元,則 underflow 會傳回 EOF 和左取回區空間。
在 strstreambuf 類別, underflow 會由對 overflow的呼叫動態配置的存取儲存體調整 egptr 指標。
需求
標題: <streambuf>
命名空間: std