5

ユーザーが入力した文字列内のスペースを見つけようとしています。スペースの位置を返すためにfind()fromを使用したいと思います。std::string

入力が「Seattle、WA USA」で、find(" ", 0)戻りたい場合8、これをどのように行いますか?8番目は「、」の後のスペースです

string inputString = " ";
cout << "Enter String to modify" << endl;
cin >> inputString;
int spac = inputString.find(" " , 0);

しかしfind()、戻り続けて0います。理由はわかりません。

4

2 に答える 2

10

あなたはスペースを読んでいません(cin >> inputString空白で止まります...)。

std::getline(std::cin, inputString)代わりに使用してください。

于 2013-03-18T11:31:29.833 に答える
1

これはcin、最初のスペースの後の単語を切り捨てて次の場所に保存するためinputStringです。

string inputString;

getline(cin, inputString);

int spac = inputString.find(" " , 0);

cout << spac << endl;
于 2013-03-18T11:35:43.353 に答える