我正在尝试将一个包含"|"的字符串分成两部分。
if (size_t found = s.find("|") != string::npos)
{
cout << "left side = " << s.substr(0,found) << endl;
cout << "right side = " << s.substr(found+1, string::npos) << endl;
}
这在"a|b"的情况下可行,但在"a | b"的情况下,会将"|b"作为右侧。为什么会这样?如何解决?
size_t found = ...
是一个声明。=
是声明语法的一部分,不是运算符。 - James Kanzesize_t found = s.find("|"); if(found != string::npos) { ... }
。 - JohannesD