我正在尝试比较两个std :: strings以查看字符串是否在第二个字符串中。但是,当我使用“ 8eN”执行此操作时,我将无法使用,也不会返回正确的颜色-相反,当我使用“ 8e”时,它将起作用,因此我不确定此处会发生什么,非常感谢!
使用Microsoft Visual c ++ 6.0(旧版应用程序:()
int CTcborder2::ColorOfFill()
{
CString csGrade = m_border->csPuc; // this will be "8eN"
std::string s((LPCTSTR)csGrade); //convert to std::string
std::string t = "8eN"; // see if this string is in std::string s
if(strstr(s.c_str(), t.c_str())) //only works with "8e" when I use "8eN" it doesn't return the correctly.
return COLOR;
}
答案 0 :(得分:0)
不必使用C ++中的C函数,只需使用
的std::string::find
或std::search
int CTcborder2::ColorOfFill()
{
CString csGrade = m_border->csPuc; // this will be "8eN"
std::string s((LPCTSTR)csGrade); //convert to std::string
std::string t = "8eN"; // see if this string is in std::string s
if(s.find(t) != std::string::npos)
return COLOR;
}