[英]string.find(“ ”) is not finding spaces
我正在尝试在用户输入的字符串中查找空间。 我想使用std::string
find()
来返回空格的位置。
如果输入是“Seattle,WA USA”,并且我想要find(" ", 0)
返回8
,我该怎么做? 第8个是“,”之后的空格
string inputString = " ";
cout << "Enter String to modify" << endl;
cin >> inputString;
int spac = inputString.find(" " , 0);
但是find()
继续返回0
。 我不知道为什么。
你没有读取空格( cin >> inputString
在空格上停止......)。
请改用std::getline(std::cin, inputString)
。
这是因为cin
在第一个空格之后截断单词并将其存储到inputString
:
string inputString;
getline(cin, inputString);
int spac = inputString.find(" " , 0);
cout << spac << endl;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.