我正在尝试在用户输入的字符串中查找空格。我想使用find()
中的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
。
我不知道为什么。
答案 0 :(得分:8)
你没有阅读空格(空格cin >> inputString
停止......)。
改为使用std::getline(std::cin, inputString)
。
答案 1 :(得分:0)
这是因为cin
会在第一个空格后截断单词并将其存储到inputString
:
string inputString;
getline(cin, inputString);
int spac = inputString.find(" " , 0);
cout << spac << endl;