Lin*_*lda 5 c++ string stringstream
我有一个stringstream,我需要将第一部分输出,然后将剩余部分放入一个单独的字符串中.例如,我有字符串"This is a car",我需要最终得到2个字符串:a = "This"和b = "is a car".
当我使用stringstream来获取第一部分时<<,我使用.str()转换为字符串,这当然给了我整个事情" This is a car".我怎么能让它发挥我想要的?
string str = "this is a car";
std::stringstream ss;
ss << str;
string a,b;
ss >> a;
getline(ss, b);
Run Code Online (Sandbox Code Playgroud)
编辑:感谢@Cubbi 的更正:
ss >> a >> ws;
Run Code Online (Sandbox Code Playgroud)
编辑:
该解决方案可以在某些情况下处理换行符(例如我的测试用例),但在其他情况下会失败(例如@rubenvb的示例),并且我还没有找到一种干净的方法来修复它。我认为@tacp 的解决方案更好、更稳健,应该被接受。