如何让std::stringstream
返回下一个令牌,而不是将其提取到operator>>
的变量中?
我已经在下面列举了一些我想要这样做的例子。我已经尝试了get()
,但这只会返回下一个字符。
#include <string>
#include <sstream>
std::string line("abc xyz");
std::stringstring ss(line);
std::string token;
ss >> token; // I don't want this
token = ss.next(); // I want something like this
if (ss.next() == "abc") // So I can do something like this
int x = std::stoi(ss.next()); // Or this
这样做的主要原因是,当我不想存储或重复使用下一个令牌时,可以生成更清晰的代码。否则,代码将填充ss >> token
行。