我还有一个关于以下内容的C ++事物:
l 是一个代码行(string.c_str())>成为行
pos 是从哪里开始搜索的位置
s 是一个字符串(string.c_str()),用于查找>成为命令
一切正常,直到命令为“-1”。在这种情况下,虽然行包含字符串,但未找到字符串“-1”。 我错过了一些明显的东西吗?
代码:
bool Converter::commandAvailable(const char* l, int pos, const char* s) {
string line = l;
string command = s;
int x = line.find(command, pos);
if (x != -1) {
return true;
}
return false;
}
提前致谢!
答案 0 :(得分:2)
这可以帮助您找到问题:
bool Converter::commandAvailable(const char* l, int pos, const char* s)
{
string line = l;
string command = s;
std::cout << "INPUT" << std::endl;
std::cout << "LINE: " << line << std::endl;
std::cout << "CMD: " << command << std::endl;
std::cout << "START: " << pos << std::endl << std::endl;
std::size_t x = line.find(command, pos);
std::cout << "OUTPUT: " << x << std::endl;
if (x != std::string::npos)
{
return true;
}
return false;
}