用于二进制输出的 ostream_iterator

2023-11-29

我希望能够使用ostream_iterator流式传输到二进制文件。但是ostream_iterator uses a 格式化输出功能所以它会写 ASCII,而不是二进制:

std::ostream_iterator是一个单遍 OutputIterator,写入连续的类型对象T进入std::basic_ostream为其构造的对象,使用operator<<

除了编写自己的迭代器之外,还有其他方法可以使用迭代器来编写二进制文件吗?

我正在尝试做的事情的简化示例,但是copy语句会将 ASCII 写入我的二进制文件:

ofstream foo("foo.txt", ios_base::binary);
vector<int> bar = {13, 42};

copy(bar.cbegin(), bar.cend(), ostream_iterator<decltype(bar)::value_type>(foo));

ostreambuf_iterator比更合适ostream_iterator。它的重量要轻得多,而且不需要格式化。它采用字符类型的模板参数,因此与大多数流兼容的唯一选择是std::ostream_iterator< char >.

确保以二进制模式打开流。顺便说一句,标准流缓冲区永远不会以二进制模式打开。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于二进制输出的 ostream_iterator 的相关文章

随机推荐

  • R - Rselenium - 使用 = 'id' 导航下拉菜单/列表/框

    如何通过 using id 导航动态下拉列表 例如 remDr findElement using id value main ddYear 我可以找到并单击使用findElement 单击后 如果我知道我的目标选择有多少个向下箭头 我可以
  • 将sql字符串拆分为单词

    我想将字符串拆分成如下所示的单词 所有字符串的输出应该相同 INPUT 1 This is a string 2 This is a string 3 This is a string 4 This is a string OUTPUT 这
  • 不使用 MFMessageComposeViewController 发送消息

    我喜欢制作自己的 iMessages 消息应用程序 该应用程序基本上已准备就绪 但我不知道如何在不显示 MFMessageComposeViewController 的情况下发送 iMessage 我知道有办法 他们在 ByteSMS 和所
  • 缩小 C++0x 中的转换范围。是只有我这么认为,还是这听起来像是一个重大改变?

    C 0x 将使以下代码和类似代码格式错误 因为它需要所谓的缩小转换范围 of a double to a int int a 1 0 我想知道这种初始化在现实世界的代码中是否经常使用 此更改会破坏多少代码 如果您的代码受到影响 需要付出很大
  • 使用两个 Android 应用程序的内容提供程序示例

    我想要insert or delete我当前的 Android 应用程序中另一个 Android 应用程序数据库中的值 我搜索了很多 大家都说用 content provider 它不与两个应用程序一起使用 所有两个应用程序都在一个应用程序
  • android:largescreens: = "true" 的属性值语法无效

    我正在开发一个 android 应用程序 minSdkVersion 为 11 targetSdkVersion 为 17 我正在为多种屏幕尺寸设计这个应用程序 所以我将对所有屏幕的支持放在清单文件中 我希望这个应用程序支持所有密度 我的
  • scikit-learn 中的 class_weight 参数如何工作?

    我很难理解如何class weightscikit learn 的逻辑回归中的参数运行 情况 我想使用逻辑回归对非常不平衡的数据集进行二元分类 这些类别被标记为 0 阴性 和 1 阳性 观察到的数据比例约为 19 1 大多数样本具有阴性结果
  • 使用 javascript 提取支持的 HTML 或 X11 颜色名称及其 RGB 值的列表

    有一些地方可以获取列表HTML or X11 颜色名称及其 RGB 等效项 例如我们可以发现 Aquamarine 是 70DB93 想必浏览器知道这些映射 有没有办法使用 javascript 询问浏览器并获取它支持的颜色名称列表 以及浏
  • SQL Server 连接超时

    我可以通过修改连接字符串来增加超时时间吗web config 是的 您可以附加 Connection Timeout 30给你的连接字符串并指定您想要的值 中设置的超时值Connection Timeout财产是一个以秒表示的时间 如果未设
  • Android ListView y 位置

    看起来 ListView 不像 ScrollView 那样公开它的 y 位置 换句话说 我需要记住 ListView 滚动到的确切位置 并在返回活动时设置它 只是为了澄清 我不需要所选的项目 这非常简单 我需要恢复 ListView 上精确
  • 而不是触发器来更新具有多个表的视图

    我试图找到一个示例 说明如何使用替代触发器更新多个表上的视图 也就是说 我想要更新该视图从中选择的多个表 我找不到任何例子 如果有人能告诉我如何做到这一点那就太好了 假设您在这里使用的是 SQLServer过于简单化 example CRE
  • 在回发时保留单选/复选框值?

    ASP 对象有一些我无法理解的东西 我在更新面板中有一个按钮 在同一页面上 我有一个复选框 一个单选按钮和一个文本框 在更新面板之外 当我单击按钮时 我可以访问所有这三个对象 文本框能够保留其文本值 但是当我检查选中状态时 单选 复选框总是
  • Pytorch 问题:当 num_workers > 0 时,我的 jupyter 卡住了

    这是我在 PyTorch 中的代码片段 当我使用 num workers gt 0 时 我的 jupiter 笔记本卡住了 我在这个问题上花了很多时间却没有任何答案 我没有 GPU 仅使用 CPU class IndexedDataset
  • 猫鼬发现返回奇怪的对象

    我当前的问题是 db collection find mongoose 命令 我对 mongoose mongodb 比较陌生 但我已经掌握了它的概念 这是我一直试图运行的测试代码 mongoose connect url function
  • 如何在 Ironpython 中使用 –X:Frames?

    Visual Studio 2010 Ironpython for net4 我想在ironpython中使用numpy 他们说我必须使用框架支持 因此 我应该在命令行上使用 X Frames 或 X FullFrames 运行 ipy 但
  • 在错误消息中显示行号

    在我使用过的大多数 MATLAB 实例中 每当我的代码中出现错误时 命令窗口中的错误消息都会显示行号 但是在我当前使用的计算机上 它仅显示以下内容 Subscripted assignment dimension mismatch 有没有办
  • C 中 bool 数据类型的 scanf 格式说明符

    我在 C std99 中使用 bool 数据类型 其定义在
  • Node.js 异常处理最佳实践

    几天前我刚刚开始尝试 Node js 我意识到每当我的程序中出现未处理的异常时 节点就会终止 这与我接触过的普通服务器容器不同 在普通服务器容器中 当发生未处理的异常时 只有工作线程会终止 并且容器仍然能够接收请求 这提出了几个问题 Is
  • Swift 块值错误

    我不断收到快速完成块错误 错误是 无法调用非函数类型的值 Array Array gt 下面还有一个错误的图像 这是代码 var blockFinih selectedTags Array
  • 用于二进制输出的 ostream_iterator

    我希望能够使用ostream iterator流式传输到二进制文件 但是ostream iterator uses a 格式化输出功能所以它会写 ASCII 而不是二进制 std ostream iterator是一个单遍 OutputIt