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> のパブリックメンバ関数) |