c++ - istringstream 不标记引号之间的文本

标签 c++ stringstream

我正在使用 istringstream 来分解字符串的标记。假设我有这样一个字符串:

print "this is a test"

它将它分成 5 个标记:

print | "this | is | a | test"

它应该在哪里生成 2 个 token :

print | "this is a test"

有什么好的方法可以解决吗?我尝试手动执行此操作,方法是在文本中查找引号并执行子字符串,但工作量太大。

我想应该有更简单的方法,或者是 istringstream 的方法吗?

最佳答案

好的 iostreams 通过 .. 标记进行标记化。在这种情况下, token 由空格分隔。您将不得不逐行阅读(或者可能是整篇文章!)并自行正确解析。

关于c++ - istringstream 不标记引号之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364702/

相关文章:

c++ - 为什么连续的 istream_iter 对象会递增迭代流?

java - 从 Java 到 C++ 的快速数组转换

c++ - 使用查找表进行坐标转换

c++ - stringstream::ignore(INT_MAX, '\n') 导致流失败

c++ - 字符串流提取不起作用

c++ - 如何阻止整数变量接受双输入(小数点前的数字)和任何其他值?

c++ - 来自另一个 IOS 应用程序的 IOS 应用程序命令

c++ - C++从另一个源文件访问已在一个源文件中声明/定义的变量

c++ - 如何在 Qt 中获取指向弹出对话框的指针,这会阻塞 QTest 中的 UI 线程

c++ - 从 stdin 获取数字列表并标记它们