我在编写我的小解析器时遇到了这个问题,并注意到在满足空格字符后,stringstream似乎没有再收到任何数据。
基本上
std::stringstream stream;
stream << "Test test";
std::string str;
stream >> str;
std::cout << str;
将打印“测试”而不是“测试测试”。有什么方法可以避免这种情况吗?
答案 0 :(得分:3)
是的,请使用std::getline
:
std::string str;
std::getline(stream, str);
std::cout << str; // "Test test"