使用時:
string s;
cin >> s;
文字列に含めることができる文字と、文字列への読み取りを停止する文字。
使用時:
string s;
cin >> s;
文字列に含めることができる文字と、文字列への読み取りを停止する文字。
std::ctype_base::space
std::istream
ソースからのそれ以上の文字の読み取りを停止する区切り文字です。
std::ctype_base::space
空白と改行を参照します。つまり、s
を使用して読み取る場合、空白と改行以外の任意の文字を含めることができますcin>>s
。
空白を含む完全な行も読みたい場合は、getline()
改行を区切り文字として使用する関数を使用できます。独自の区切り文字を提供する場合に使用できるオーバーロードされた関数もあります。詳細については、ドキュメントを参照してください。
に設定できるカスタマイズされたロケールstd::istream
を使用することもできます。カスタマイズされたロケールでは、 によって区切り文字として扱われる一連の文字を定義できますstd::istream
。ここでそのような例の1つを見ることができます(私の解決策を参照してください):
区切り文字は、 truech
をstd::isspace( ch,
std::sin.getlocale() )
返す任意の文字です。言い換えれば、埋め込まれたロケールが「空白」と見なすものは何でも。(私はそれをやや乱用していると思いますが、プログラマーが特別なロケールを作成することを知っています。たとえば,
、空白
を考慮>>
し、コンマ区切りのリストを読み取るために使用します。)