5

我正在尝试在用户输入的字符串中查找空间。我想使用find()fromstd::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

这是因为cinwhich 在第一个空格之后截断单词并​​将其存储到inputString

string inputString;

getline(cin, inputString);

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

cout << spac << endl;
于 2013-03-18T11:35:43.353 回答