繁体   English   中英

string.find(“”)找不到空格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM