有以下代码
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;找到了吗?我怎样才能纠正它?
答案 0 :(得分:2)
您正在根据pos
进行测试pos1
存储str.find("stack Notflow")
的结果使用
pos = str.find("stack Notflow");
或
if(pos1 != string::npos)
代码行size_t pos1 = str.find("stack Notflow");
或之后的那个。
编辑您编辑的版本完美无缺(至少在我测试时)