问题标签 [istringstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1650 浏览

c++ - 从 istringstream 读取行,末尾没有 '\r' 字符

我有以下功能:

我逐行读取 std::istringstream 中的行,使用getline,直到我“遇到”特殊字符串,之后我应该对下一行进行一些特殊处理。特殊字符串是:

; -------- Special -------------------- 当我在 Windows 中读取相应的行时,它以 '\r' 结尾:

( ; -------- Special --------------------\r) 在 Linux 中,末尾没有“\r”。有没有办法在不区分是linux还是windows的情况下一致地读取这些行?

谢谢

0 投票
2 回答
197 浏览

c++ - 将字符串解析为 int

我对编码很陌生,我希望有人能帮助我吗?我正在尝试读取一行以空格分隔的整数并将它们解析为(最终成为链表)一个向量。

所以一旦我有了一个整数向量,就有了 STL 向量的迭代器,但是我如何遍历不在 STL 中的链接列表中的节点?

0 投票
2 回答
1275 浏览

c++ - 如何解析istringstream C++?

我需要从流中打印一些数据 - istringstream(在 main () 中)。

例子:

如何解析这一行

name;surname,data

0 投票
2 回答
3075 浏览

c++ - 如何从向量字符初始化字符串流

目前我正在使用 boost char 数组

但是如果我的 received_data 是std::vector<char> received_data(512);

那么我将如何将这些数据发送到我的std::istringstream ss_?

0 投票
2 回答
655 浏览

c++ - 来自 std::string 的 std::istringstream 无需复制

我一直在使用这个:

进行一些简单的解析。我想避免不必要的复制以提高性能,所以我尝试了:

它似乎可以完成这项工作(即显着提高性能)。我的问题是,考虑到 const_cast,这是否安全?我的意思是,只要我使用 istrinstream,内部缓冲区就永远不会被 istringstream 类写入,因此只要 line 变量有效且未更改,ss 变量就应该保持有效状态,对吧?

0 投票
1 回答
208 浏览

c++ - C++ - 无法将 istringstream 定义移出循环

我有以下代码:

这会产生以下错误:

我知道可以通过istringstream iss(inp);在循环内使用来避免该问题,但是,是否不可能将此定义移出循环?

(当然,搬出去是可以的,只是我什么都做不了。)

0 投票
1 回答
398 浏览

c++ - C++ 中的流类型,如何从 IstringStream 中读取?

我有一个包含数百万行的 txt 文件,每行有 3 个浮点数,我使用以下代码读取它:

我工作得很好。

现在我想尝试使用 Boost 映射文件做同样的事情,所以我做了以下

它编译没有任何问题,但不幸的是 X,Y,Z 没有得到实际的浮点数,而只是垃圾,并且在一次迭代之后,While 结束了。

我可能做错了什么

如何使用和解析内存映射文件中的数据?我搜索了整个互联网,尤其是堆栈溢出,但找不到任何示例。

我正在使用 Windows 7 64 位。

0 投票
3 回答
1359 浏览

c++ - (C++) std::istringstream 从字符串读取多达 6 位数字到双精度

伙计们!我一直在努力解决这个问题,到目前为止我还没有找到任何解决方案。

在下面的代码中,我用数字初始化了一个字符串。然后我使用 std::istringstream 将测试字符串内容加载到双精度中。然后我计算出这两个变量。

当我运行 .exe 时,它​​看起来像这样:

字符串测试:888.4834966
双数 888.483
按任意键继续。. .

该字符串有更多数字,看起来 std::istringstream 仅加载了 10 个中的 6 个。如何将所有字符串加载到 double 变量中?

0 投票
0 回答
466 浏览

c++ - istringstream 提取操作符失败

我正在为波前 *.obj 文件开发一个非常简单的解析器。

一般的想法是读取文件的每一行,然后根据 start 关键字相应地解析该行,但我有一些麻烦:

例如,我在第一行中拥有的文件:

g 龙

所以在“类型”中我存储了一个“g”。问题是当我阅读下一行时

v -0.136296 0.0938588 -0.0307373

istr 显然已初始化,但在 >> 操作类型之后仍有“g”。

循环继续,“g”值永远不会改变。

我还有其他一些可以完美阅读的 *.obj 文件,唯一的区别是在调试器中,我在所有行的末尾都看到了一个 '\r'。

从 istringstream 中提取数据是否需要此字符?

0 投票
2 回答
475 浏览

c++ - 在 C++ 中用空终止字符串实例化的 istringstream 对象的奇怪行为

我有一个以 null 结尾的字符串存储在stypechar*中。我想istringstreams. 由于 的构造函数istringstream需要一个类型的参数string,我需要从s转换char*string。我通过以下方式使用其构造函数创建一个匿名string对象来做到这一点:s

使用 gcc (4.7.3) 编译时这似乎没问题。但是,在我添加以下代码后使用strin

我得到了编译错误:

这对我来说似乎很奇怪,因为我不明白类型std::istringstream(std::string*)是什么。不strin应该是 typestd::istringstream吗?

通过使用以下代码的修改版本之一,我可以让编译器满意。

解决方案1:传递一个命名string对象

解决方案2:直接 pass s,好像会被隐式转换为string

解决方案3:显式转换sstring

解决方案4:添加一对神奇的括号

解决方案5:告诉编译器s确实是一个char*类型

除了原始的,所有这些都有效。有人可以解释这里到底发生了什么吗?谢谢。