basic_streambuf::underflow
受保護的虛擬函式,擷取輸入資料流中的目前項目。
virtual int_type underflow( );
傳回值
目前的項目。
備註
受保護的虛擬成員函式竭力擷取輸入資料流中目前的項目, ch ,而不需前進現行資料流位置,並以 traits_type::to_int_type(ch)。 它就可以採用各種方式:
如果一個讀取位置可用, ch 是用於建立這個的儲存位置的項目。 如需詳細資訊,請參閱 basic_streambuf Class的「備註」一節。
它可以透過配置輸入緩衝區的新或其他儲存區進行讀取的位置可用,然後寫入權限,由部分外部來源,一或多個項目。 如需詳細資訊,請參閱 basic_streambuf Class的「備註」一節。
如果函式未能成功,則傳回 traits_type::eof() 或擲回例外狀況。 否則,它會傳回輸入資料流中目前的項目,如同會轉換成。 預設行為會傳回 traits_type::eof()。
underflow 虛擬函式,以及 同步 和 溢位 函式,定義 streambuf特性的衍生類別。 每一個衍生類別可能會有不同的實作, underflow ,但呼叫的資料流類別的介面相同。
underflow 函式與 sgetc 和 sgetn 的公用 streambuf 函式最常被呼叫,以取得區域是空的時,不過,其他類別,包括資料流類別,可以隨時呼叫 underflow 。
underflow 函式將字元提供取得區域會從輸入來源。 如果取得區域中包含字元, underflow 傳回第一個字元。 如果取得區域是空的,填滿取得區域並傳回將保留在取得區域) 的下一個字元 (。 如果不再有字元可供使用,則 underflow 傳回 EOF 並且保留取得區域。
在 strstreambuf 類別, underflow 至呼叫動態配置給 overflow存取儲存區調整 egptr 指標。
需求
標題: <streambuf>
命名空間: std