std::ws
提供: cppreference.com
ヘッダ <istream> で定義
|
||
template< class CharT, class Traits > std::basic_istream<CharT,Traits>& ws( std::basic_istream<CharT, Traits>& is ); |
||
入力ストリームから先行するホワイトスペースを破棄します。
UnformattedInputFunction として動作します。 ただし is.gcount() は変更されません。 sentry オブジェクトの構築および確認の後、以下の条件のいずれかが発生するまで、ストリームから文字を抽出し、それらを破棄します。
- 入力シーケンスでファイル終端状況が発生した (この場合、 setstate(eofbit) を呼びますが、
failbit
はセットしません。 これはws
を呼ぶ前にeofbit
がis
にすでにセットされていた場合は適用されません (その場合は sentry オブジェクトの構築がfailbit
をセットします))。
- 入力シーケンス内の次の利用可能な文字
c
が std::isspace(c, is.getloc()) によって判定されるところのホワイトスペースでない。 その��ホワイトスペース文字は抽出されません。
これは入力専用の入出力マニピュレータであり、 std::basic_istream 型の任意の in
に対して in >> std::ws のような式で呼ぶことができます。
目次 |
[編集] 引数
is | - | 入力ストリームへの参照 |
[編集] 戻り値
is
(連続するホワイトスペースの抽出後のストリームへの参照)。
[編集] ノート
呼び出しの前に eofbit
がストリームにセットされていた場合、 sentry オブジェクトの構築により failbit
がセットされます。
[編集] 例
Run this code
#include <iostream> #include <istream> #include <sstream> #include <string> int main() { std::istringstream s(" this is a test"); std::string line; std::getline(s >> std::ws, line); std::cout << "ws + getline returns: \"" << line << "\"\n"; }
出力:
ws + getline returns: "this is a test"
[編集] 関連項目
指定された文字が見つかるまで文字を抽出して破棄します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
|