使用string的find()函数时,当find的入参是空时,此时fand也返回能找到该字符串。
在编程时往往不注意这一点,造成漏洞。
例:
#include <iostream>
#include <string>using namespace std;
int main()
{
string test("test string empty");
string str = "";
int npos = test.find(str);
if (npos == -1 )
{
cout << "failed!" << endl;
return -1;
}
cout << "successfully!" << endl;
return 0;
}
此时,打印successfully!