问题标签 [boost-iostreams]
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.
c++ - Boost IO Stream 和 ZLib 加速
我有一个使用 boost IOStreams 和过滤流缓冲区用 Zlib 压缩的大数据文件:
为了加快速度,我正在使用以下内容初始化 zlib 库:
我的解压器是这样的:
我的问题是有什么方法可以加快膨胀(解压缩)操作?现在,压缩占用了我大约 83% 的数据访问时间,我真的需要加快速度。任何建议将不胜感激。
c++ - 如何将数据解压缩到动态分配的内存位置
基本上我试图将一些源解压缩到数据指针指向的动态分配内存。我有以下代码,我可以看到copy()
正在工作,但数据指向的内存是全部0s
。有谁知道为什么?
注意这里的 data 必须是一个 void 指针,我必须使用 new 运算符,因为数据大小会根据另一个指标而变化。
编辑:我在这里找到了答案:设置标准流使用的内部缓冲区(pubsetbuf)
c++ - Eclipse CDT 中的虚假错误:boost::iostreams
我在 Eclipse CDT (Juno SR1) 中有以下代码:
g++ 4.7.2
代码没有问题。然而,Eclipse 抱怨这两in.push()
行。两种情况下的错误消息是相同的:
如何解决或解决此问题以停止 CDT 抱怨?
c++ - 在 boost iostream filtering_ostream 中,sync()、strict_sync() 和 flush() 有什么区别?
考虑一个简单的计数过滤器:
并因此使用它:
调用sync()、strict_sync() 或flush() 有什么区别?counted_cout.sync(); // 与此调用有何不同 counted_cout.strict_sync(); // 到这个调用 counted_cout.flush(); // 这个电话?
我正在使用提升 1.50.0
c++ - boost::iostreams::copy 上的编译错误
我正在尝试通过一些示例来学习 boost::iostreams。这是gcc不能接受的其中之一:
这是错误:
c++ - boost::iostreams::mapped_file 文件路径问题
我在使用 boost 的 mapped_file iostreams 库时遇到了问题。
提升文档:mapped_file
在阅读了我可以阅读的所有文档和示例之后,我仍然无法让下面的代码工作。我假设当您将 new_file_size 和路径传递给 mapped_file_params 类时,当我使用参数中的 mapped_file_params 对象调用 mapped_file 的构造函数时,它将在所需位置打开(并创建)文件。但它唯一要做的就是在项目工作目录中创建一个名称怪异的文件,例如“%F8/134”,而不是我告诉它的地方。也许我错了,应该在将文件指定给 mapped_file 之前创建文件?阅读文档后,我假设它在您填写 new_file_size 参数时创建了一个新文件。并指定文件名。
以前有人经历过吗?关于如何解决这个问题的任何建议?
这是代码:
谢谢你的时间,
亚历山大
c++ - 使用 boost::iostreams 时崩溃
我正在尝试使用 boost::iostreams(1.53.0) 解压缩 HTTP 请求正文并稍后处理它。但是当我运行以下代码时,我遇到了崩溃。
崩溃发生在 中gzip_decompressor()
,更具体地说,发生在gzip_header() { reset(); }
boost 的 gzip.hpp 中(通过查看调用堆栈)。
我自己编译了 boost::iostreams 库,还尝试使用 macports 的 boost,但发生了同样的崩溃。我也尝试过使用gzstream 库,但是在构造函数中也会崩溃,更具体地说是在igzstream
.
我倾向于认为这是一个与 zlib 相关的问题。我没有具体说明,我使用的是带有 Mountain Lion 和 xCode 4.6 的 MacBook Pro 来构建和运行代码。
你们之前有没有遇到过这样的问题?
c++ - boost::iostreams 从源设备读取
我一直在尝试通过 boost 来了解 iostreams 库。
但我不能真正完全掌握这些概念。
假设我有以下课程:
伪代码:以下代码仅用于说明问题。
编辑:删除了读取的代码,因为它消除了对真正问题的关注。
现在说我想将 this 流式传输到 int。
我需要做什么 ?我试过以下
这导致失败,(设置了失败位)
虽然以下工作正常。
有人可以向我解释为什么会这样吗?这是因为我设置了char_type char 吗?
我真的无法在任何地方找到一个好的解释。我一直在尝试阅读文档,但如果这是问题,我找不到 char_type 的定义行为。当我使用字符串流时,我可以读入一个 int 而无需做任何特别的事情。
所以如果有人有任何见解,请赐教。
xml - 调用析构函数时提升 xml_iarchive 崩溃
我在试图弄清楚为什么当函数返回 0 时这段代码会崩溃时遇到了一些麻烦;
我怀疑当它从 start 函数返回时,它会调用 xml_iarchive 的析构函数并且它在那里失败了。
在 xml_iarchive 调用其析构函数之前,我是否必须调用 flush 或某些函数来进行清理。
我不知道, :)
c++ - 为什么 stringstream::str() 会截断字符串?
我有字符串流对象。它通过填充
从
并且实际上包含解压缩的文件。
现在,如果我将字符串流内容刷新到文件中
一切都好。文件充满了完整正确的数据。
但是如果我不是像这样刷新到文件构造字符串
内容在中间某处被截断。这不是一个持久性错误,它显然取决于字符串缓冲区的内容。
内容是多种语言的 HTML 文件。
会是什么?谢谢。