std::vector<std::string> words;
std::string word;
while (std::cin >> word)
words.push_back(word);
cout<<words[1];
これを使用して、入力を使用して空白文字の配列を作成します。ただし、Enterを使用して文末を入力した後、出力が得られません。C++で単語の配列として入力する
std::vector<std::string> words;
std::string word;
while (std::cin >> word)
words.push_back(word);
cout<<words[1];
これを使用して、入力を使用して空白文字の配列を作成します。ただし、Enterを使用して文末を入力した後、出力が得られません。C++で単語の配列として入力する
これを使用して、入力を使用して、空白文字を含む単語の配列を作成します。ただし、Enterを使用して文の終わりの後に出力が得られません。あなたがを押したときに
が停止しないためですwhile (std::cin >> word) words.push_back(word);
はstd::cin
にデータがないときには停止し
入力します。 while
ループから抜け出すためにEOFを入力する必要があります。
有用なリンク:How do i enter an EOF character in this program?。代わりに
cin<<word
の
getline(cin,word)
を使用して
cinを使って空白を含む単語を入力できないようにするには、 –
@RamakanthPuttaの質問にあるように、OPは空白で区切られた単語を読みたいと思っています。 –
はい、そうかもしれません。 –
は空白と入力ワードにあなたをできるようになります。
はあっても、ベクターは
words[0]
代わり
words[1]
意志出力入力値の出力したがって、インデックス0から始まります。それが問題だ。
ようこそスタックオーバーフロー。 [The Tour](http://stackoverflow.com/tour)を読み、[ヘルプセンター](http://stackoverflow.com/help/asking)の資料を参考にしてください。ここに聞いてください。 –
また、ベクターインデックスをゼロから始める場合は、ベクトルat()メソッドを使用すると境界外の例外が発生する可能性があります。 –
[Works fine](http://ideone.com/zh6irX) –