std::basic_streambuf::underflow
提供: cppreference.com
< cpp | io | basic streambuf
![]() |
このページは、Google 翻訳を使って英語版から機械翻訳されました。
翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
int_type underflow(); |
||
少なくとも1文字は入力エリア(必要な場合)へのポインタを更新することによって、入力領域に使用可能であることを保証します。失敗した場合に、成功またはtraits::eof()上でその文字の値を返します。.
Original:
Ensures that at least one character is available in the input area by updating the pointers to the input area (if needed). Returns the value of that character on success or traits::eof() on failure.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
関数は
gptr
、egptr
とeback
ポインタは、新しくロードされたデータ(もしあれば)の位置を定義するために更新することがあります。失敗した場合、関数はそのどちらgptr() == nullptrまたはgptr() == egptr確実に.Original:
The function may update
gptr
, egptr
and eback
pointers to define the location of newly loaded data (if any). On failure, the function ensures that either gptr() == nullptr or gptr() == egptr.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
関数の基本クラスのバージョンは何もしません。派生クラスは、枯渇の場合get領域への更新を許可するには、この関数をオーバーライドすることができます.
Original:
The base class version of the function does nothing. The derived classes may override this function to allow updates to the get area in the case of exhaustion.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集] パラメータ
(なし)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 値を返します
文字の値は、成功したコールの後にポインタを取得、またはそうでなければtraits::eof()で指さ.
Original:
The value of the character pointed to by the get pointer after the call on success, or traits::eof() otherwise.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
関数の基本クラスのバージョンがtraits::eof()呼び出し.
Original:
The base class version of the function calls traits::eof().
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 注意してください
std::streambufのパブリック関数は、この関数を呼び出す場合にのみgptr() == nullptrまたはgptr() >= egptr().
Original:
The public functions of std::streambuf call this function only if gptr() == nullptr or gptr() >= egptr().
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 例
このコードを実行します
#include <iostream> #include <sstream> class null_filter_buf : public std::streambuf { std::streambuf* src; char ch; // single-byte buffer protected: int underflow() { while( (ch= src->sbumpc()) == '\0') ; // skip zeroes setg(&ch, &ch, &ch+1); // make one read position available return ch; // may return EOF } public: null_filter_buf(std::streambuf* buf) : src(buf) { setg(&ch, &ch+1, &ch+1); // buffer is initially full } }; void filtered_read(std::istream& in) { std::streambuf* orig = in.rdbuf(); null_filter_buf buf(orig); in.rdbuf(&buf); for(char c; in.get(c); ) std::cout << c; in.rdbuf(orig); } int main() { char a[] = "This i\0s \0an e\0\0\0xample"; std::istringstream in(std::string(std::begin(a), std::end(a))); filtered_read(in); }
出力:
This is an example
[編集] も参照してください
[仮想] |
get領域及び貸付次のポインタに関連付けられた入力シーケンスから文字列を読み取ります Original: reads characters from the associated input sequence to the get area and advances the next pointer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数) |
[仮想] |
put領域から関連する出力シーケンスに文字を書き込みます Original: writes characters to the associated output sequence from the put area The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数) |