名前空間
変種
操作

std::ws

提供: cppreference.com
< cpp‎ | io‎ | manip
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
入出力マニピュレータ
浮動小数点フォーマット
整数フォーマット
ブーリアンフォーマット
フィールド幅とフィル制御
その他のフォーマット
ホワイトスペース処理
ws
出力のフラッシュ
ステータスフラグ操作
時間と通貨の入出力
(C++11)
(C++11)
(C++11)
(C++11)
引用符マニピュレータ
(C++14)
 
ヘッダ <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 を呼ぶ前に eofbitis にすでにセットされていた場合は適用されません (その場合は sentry オブジェクトの構築が failbit をセットします))。
  • 入力シーケンス内の次の利用可能な文字 cstd::isspace(c, is.getloc()) によって判定されるところのホワイトスペースでない。 その非ホワイトスペース文字は抽出されません。

これは入力専用の入出力マニピュレータであり、 std::basic_istream 型の任意の in に対して in >> std::ws のような式で呼ぶことができます。

目次

[編集] 引数

is - 入力ストリームへの参照

[編集] 戻り値

is (連続するホワイトスペースの抽出後のストリームへの参照)。

[編集] ノート

呼び出しの前に eofbit がストリームにセットされていた場合、 sentry オブジェクトの構築により failbit がセットされます。

[編集]

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