搜索字符串有空格时查找字符串

时间:2016-04-27 11:12:26

标签: c++ string

有以下代码

std::string str = "stack overflow=Ask Questions";
size_t pos = str.find("stack overflow");

if(pos != string::npos)
cout << "found" << endl; //works as expected

size_t pos1 = str.find("stack Notflow");
if(pos1 != string::npos)
cout << "found" << endl; //this is printed
else
cout << "NOt found" << endl;

在上面的代码中&#34;堆栈Notflow&#34;找到了吗?我怎样才能纠正它?

1 个答案:

答案 0 :(得分:2)

您正在根据pos进行测试pos1存储str.find("stack Notflow")的结果使用

pos = str.find("stack Notflow");

if(pos1 != string::npos)

代码行size_t pos1 = str.find("stack Notflow");

或之后的那个。

编辑您编辑的版本完美无缺(至少在我测试时)