std::ws
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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>のパブリックメンバ関数)
|