问题标签 [strstream]

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 投票
4 回答
34038 浏览

c++ - 为什么不推荐使用 std::strstream ?

我最近发现它std::strstream已被弃用,取而代之的是std::stringstream. 我已经有一段时间没有使用它了,但它做了我当时需要做的事情,所以听到它被弃用感到很惊讶。

我的问题是为什么做出这个决定,以及std::stringstream提供了哪些没有的好处std::strstream

0 投票
3 回答
339 浏览

visual-c++ - c++中的strstream

我正在编写代码

有一个问题,它对 temp 变量根本不起作用,只是得到结果只有字符串测试,最后没有 10?

}

0 投票
1 回答
1538 浏览

c++ - 如何在没有强制转换或复制的情况下从 const unsigned char* 初始化 std::istringstream?

我有由const unsigned char *p和描述的字节序列中的二进制数据size_t len。我希望能够将此数据传递给需要std::istream *.

我认为我应该能够做到这一点,而无需复制数据、不安全的强制转换或编写新的流类。但到目前为止,我失败了。任何人都可以帮忙吗?

更新

感谢大家的评论。这似乎是一个无法回答的问题,因为std::istream使用char和转换在某些时候至少需要从unsigned char.

务实的做法是这样做:

并传递&i给期待的函数std::istream *

0 投票
1 回答
125 浏览

c++ - 关于 ostrstream 的查询

首先,我想让所有人知道 ostrstream 已被弃用,将来不应使用。

但我的怀疑是另一回事。我的应用程序的源代码具有如下代码。

我感兴趣的代码行是最后一行。在这种情况下我们是否必须删除一个指针。这对我来说看起来很尴尬。没有手动分配内存。我的想法是否正确?

0 投票
1 回答
1180 浏览

c++ - strstream 的 pcount 和冻结在 stringstream 中的替代品是什么?

我有使用 strstream 并使用 pcount 和 freeze 方法的旧 c++ 代码。我想改用 stringstream 类。strstream 的 pcount 和 freeze 方法有什么替代品?代码是这样的:

0 投票
2 回答
404 浏览

c++ - ostrstream 将常量字符串解释为指针

我在清理旧 C/C++ 应用程序的调试宏时遇到了这个问题:我们有一个 Tracer 类继承自ostrstream(我知道它自 C++98 以来已被弃用,但此应用程序是 1998 年编写的!)我们使用像这样:

现在,如果链中的第一个值是上面的常量字符串,则调用ostrstream::str()Tracer 的结果(在析构函数中完成,将结果插入队列)包含指向该字符串的指针的十六进制表示,而不是文本。因此,上面的语句会产生类似"0x401a37 message here". 旧的宏不会发生这种情况,因为它们总是将长(线程 ID)作为第一个值,现在已被删除。

使用 gdb 进入它表明,对于第一次插入,这调用operator<<(void const*)了 ostrstream,而随后的插入调用operator<< <...>(basic_ostream<...>&, char const*)(为了便于阅读而删除了模板)。

有人可以解释这种行为吗?什么是解决这个问题的干净方法?我找到了一个简单的解决方法,它<< left用作第一个参数 - 这安全吗?有没有更好的方法来做到这一点?

这是一个最小化的示例:

0 投票
2 回答
835 浏览

c++ - 字符串流相关问题

我正在尝试执行以下操作

a & b 是包含在结构中的值,并且该结构作为事件发送到其他进程,该进程提取这些值。我遇到的问题是当我这样做时

在第 6 行之后,string string1为空,并将一个空string传递给其他进程。

有没有办法重用stringstream str不同的值?

这是实际的代码——

}

}

想法是将所有字符串连接成一个字符串 appDetails 并填充结构成员 SReadDIDResponse.DIDValue 而这里是结构 SReadDIDResponse

0 投票
0 回答
90 浏览

c++ - std::strstream 没有正确实现 eof 和 peek?

我有一个这样定义的字节数据源:

dataSize非零且通常很大(兆字节)

以下代码有效:

stream.eof()是假的,firstByte 是1,这是正确的

以下代码不起作用:

stream.eof()为真,firstByte 为-1,这是不正确的

我知道 strstream 已被弃用,但在这种情况下,它避免了分配和复制两次传入数据,这很好。但是为什么 peek 和 eof 不起作用?

编辑:如果我替换std::strstreamstd::istrstream,这很好用。这没关系,因为我实际上只是从数据中读取。但是为什么 std::strstream 在这种情况下不起作用?我只是好奇。

0 投票
2 回答
294 浏览

c++ - basic_stringbuf 没有名为“freeze”的成员

以下代码无法编译:

我在编译时收到以下错误:

在谷歌搜索后,我怀疑我应该使用 ostringstream 代替 ostrstream,所以我将程序修改如下:

但现在我收到以下错误:

0 投票
2 回答
4070 浏览

c - 在 C 中对同一字符串多次应用 strstr()

我正在尝试编写一个代码,使用 strstr 提取和标记之间的所有单词/字符串。但似乎它只是停留在提取的第一个字符串上,即“快速”。提取第一个字符串后如何让代码继续运行?