如何在没有运算符>>的情况下从字符串流返回下一个标记?

时间:2017-08-10 22:57:10

标签: c++ stringstream

如何让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行。

0 个答案:

没有答案