问题标签 [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 投票
2 回答
63 浏览

c++ - 为什么这会在控制台中返回地址?

我正试图围绕 ostringstreams 和 istringstreams。所以,像往常一样,我用它制作了一个登录程序。但是每次我尝试计算用户名和密码变量的内容时,它都会返回地址!

程序目的:使用输入和输出字符串流创建模拟登录屏幕

代码:

我最后尝试使用 *uptr 和 *pptr,但在此之前我尝试直接从变量中写入和读取。

0 投票
1 回答
191 浏览

c++ - 使用 istringstream 的后缀变长(C++)

为什么 istringstream 似乎无法完全读取带后缀的数字文字?

这段代码的输出是

这种行为是由语言环境控制的吗?任何人都可以指点我清除有关接受哪些字符串的文档istringstream::operator>>(long long)吗?

0 投票
1 回答
232 浏览

c++ - istringstream 没有输出正确的数据

我无法让 istringstream 在下面显示的 while 循环中继续。数据文件也如下所示。我使用输入文件中的 getline 来获取第一行并将其放入 istringstream lineStream 中。它通过一次while循环,然后读取第二行并返回到循环的开头并退出而不是继续循环。我不知道为什么,如果有人可以提供帮助,我将不胜感激。编辑:我有这个 while 循环条件的原因是因为文件可能包含错误数据行。因此,我想确保我正在读取的行在数据文件中具有如下所示的正确格式。

数据文件

0 投票
2 回答
170 浏览

c++ - 将文本文件存储到类中

我目前正在尝试将字符读入一个看起来像这样的类

我还有一个包含以下元素的向量:

我想将文本文件读入每个部分,目前这是我连续读取文本文件并分别添加每个部分的算法。

我遇到的问题是试图找到一种方法来确保文本的正确部分进入对象的正确部分。对于前七行文本,对象应该是这样的:

这应该对整个文本文件重复相同的方式。temp_data 是一个向量,其中包含需要添加到对象中的元素,但是我找不到一个好的方法来不断循环遍历向量并将元素放入正确的位置。

我制作的算法有一个计数器和一个占位符,计数器将在向量点之间循环,占位符将保存第一个对象的数据成员的位置,在这种情况下为段。在算法结束时,place 应该等于 temp_data 的大小并退出循环。但是我在编译和运行时遇到了问题,它似乎将错误的元素放入了错误的对象成员中。

有任何想法吗?

0 投票
2 回答
727 浏览

c++ - C ++:无法使用字符串流操作打开文件

我正在编辑现有的 C++ 代码,以便它使用 stringsteam 打开多个文件。我有一个整数从 1 到 7 的循环,我需要打开 7 个文件。这些文件被命名为 PMAP1.txt ... PMAP7.txt。我正在尝试以这种方式打开它:

由于某种原因,这不起作用。它返回“无法找到或打开 precipfile”。但是,如果我直接使用一个文件名打开一个文件,它就可以工作。像:

这行得通。请帮忙!

0 投票
1 回答
269 浏览

c++ - C++ 使用错误检查使 sscanf 代码适应 istringstream

因此,我有一些代码可以使用 sscanf 将字符串拆分为其他一些变量,如下所示。

我使用 sscanf 的返回值来验证输入字符串。

我会用

但我不知道如何验证是否正好填充了 5 个东西。我很想摆脱遗留的 C 代码,因为我讨厌 char 数组,但我不想丢失错误检查。我非常感谢任何建议来调整这个 istringstream 代码或使用完全不同的 c++ 样式代码来摆脱 char 数组但保留现有功能。

提前致谢,

最大限度

0 投票
1 回答
362 浏览

c++ - C++:将 istringstream 转换为 long int 不起作用

我的问题是,我想将一个字符串转换为一个长整数。为此,我以这种方式使用 istringstream:

(转换和cin其实是两种不同的方法,我只是把相关代码放在一起)。

如果我输入“1”,以下代码将返回 false,但如果我输入“1.0”,则不会。我可以搜索 . 在字符串中,如果没有则添加它,但是没有将字符串转换为 long 的方法吗?

0 投票
3 回答
205 浏览

c++ - 从 Istringstream 管道到模板

我有以下问题:我有一张地图stringstring名为psMap. 也就是说psMap["a"]="20", psMap["b"]="test", psMap["c"]="12.5", psMap["d"]="1" (true),地图存储各种基本数据类型的字符串表达式。

以下函数foo应该(给定一个键)将映射的值复制到相应的类型变量,即;

明确地说,我想为所有可能的数据类型提供一个函数(所以没有手动转换),所以我尝试使用模板来利用 的自动转换istringsteram,即

问题是,“>>”操作给出了错误:Error: no match for »operator>>« in »std::basic_stringstream<char>((* ....

这里出了什么问题?是否stringstream无法识别正确的数据类型并尝试通过管道输入“模板”的抽象类型?我怎样才能使我的代码工作?

为你的努力加油 :)

0 投票
4 回答
26580 浏览

c++ - 如何使用 istringstream 提取混合格式

为什么我的程序不输出:

代替

这是我的程序:

基本上我正在尝试解析逗号分隔的字符串,任何更流畅的方法都会对我有很大帮助。

0 投票
1 回答
207 浏览

c++ - istringstream 到 int8_t 产生意外结果

阅读此常见问题解答后,我选择使用 istringstream 将输入字符串转换为数值。

我的代码如下所示:

当 T 为 int、short、long 或 float 时,没问题我得到正确的值。但是当 T 为 int8_t 时,此代码不起作用。

例如,如果我的输入字符串是“10”,getValue 会返回一个 int8_t 值等于 49。

在 ASCII 表中使用 49 == '1' 时,我猜 >> 运算符只是读取输入字符串中的第一个字符并停止。

常见问题解答中是否有技巧或我不明白的东西?