在没有缓冲区的情况下将数据从 fstream 复制到 stringstream?

2024-04-15

无论如何,我可以从fstream(一个文件)到一个stringstream(内存中的流)?

目前,我正在使用缓冲区,但这需要双倍的内存,因为您需要将数据复制到缓冲区,然后将缓冲区复制到字符串流,直到删除缓冲区为止,数据都会在内存中复制。

std::fstream fWrite(fName,std::ios::binary | std::ios::in | std::ios::out);  
    fWrite.seekg(0,std::ios::end); //Seek to the end  
    int fLen = fWrite.tellg(); //Get length of file  
    fWrite.seekg(0,std::ios::beg); //Seek back to beginning  
    char* fileBuffer = new char[fLen];  
    fWrite.read(fileBuffer,fLen);  
    Write(fileBuffer,fLen); //This writes the buffer to the stringstream  
    delete fileBuffer;`

有谁知道如何在不使用中间缓冲区的情况下将整个文件写入字符串流?


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

在没有缓冲区的情况下将数据从 fstream 复制到 stringstream? 的相关文章

随机推荐

  • JQuery 菜单无法正常工作

    我正在尝试 Jquery 菜单小部件 但由于某种原因它不起作用 我在浏览器和 JSFiddle 上都尝试过 http jsfiddle net evanevee MANH4 2 http jsfiddle net evanvee MANH4
  • Java 中间隔重复算法的开源实现 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在从事一个项目 其中间隔重复至关重要 但我不是该主题的专家 我害怕重新发明方轮 我的研究指出了两个不
  • 用于 Java 集成测试的 Groovy 是否有更好的替代方案? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我计划使用其编程接口来测试我的基于 Java 的 Web 应用程序 为此 我打算使用它们的 RMI We
  • WEB-INF 在 Java EE Web 应用程序中代表什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 互联网上的大多数地方都说它代表WEB INF信息 我比较怀疑 该文件夹包含可执行文件 信息不是一个合适的名字 据我所知 正如你所说 INF 代表
  • 如何从 GTK Builder 检索对象的名称? [复制]

    这个问题在这里已经有答案了 如何获取从 Builder 对象检索的 Gtk Widget 的名称 我特指的是在 Glade 中看到的名字 例如 button1 而不是类的名称 GtkWindow 这个问题与this one https st
  • 基准和处理时间结果的差异

    我一直在尝试对替换数据框中的 NA 的最有效方法进行一些测试 我首先在 100 万行 12 列的数据集上比较 NA 与 0 的替换解决方案 把所有有管道能力的都扔进去microbenchmark我得到以下结果 问题一 有没有办法测试子集左赋
  • Oracle查询将多列转换为一列

    我的表中有 50 列 它只返回一行 我希望 50 列的一行显示为 50 行和 1 列 任何人都可以建议我使用 Oracle 查询吗 您可以使用UNPIVOT对于像这样的一行 仅获取包含值的列 SELECT colvalue FROM SEL
  • 在单独的 cpp 文件中进行 Boost 单元测试

    我想将 Boost 单元测试分成单独的 cpp 文件 例如 Test1 cpp Test2 cpp Test3 cpp 等 这样我就不会在单个 cpp 文件中包含 1000 个测试 到目前为止 当我尝试构建时 我遇到了各种错误 测试1 cp
  • 节或组名称“oracle.manageddataaccess.client”已定义

    将 Oracle ManagedDataAccess dll 从版本 4 121 1 0 更新到版本 4 121 2 0 后 由于我无法使用 NHibernate 保存先前版本中 CLOB 类型的值 因此在客户端计算机上出现以下错误 Sys
  • 使用马哈拉诺比斯距离进行多变量离群值去除

    我的数据有异常值 我怎样才能找到马哈拉诺比斯距离 并用它来删除异常值 首先让我提出一些一般准则 实际上 如果你有很多特征和较少的样本 马哈拉诺比斯算法往往会给出误导性的结果 你可以自己尝试一下 所以你拥有的特征越多 你应该提供的样本就越多
  • 埃拉托色尼真筛——用于生成素数的算法

    今天读到一篇论文 奥尼尔 梅丽莎 E 正版 埃拉托斯特尼筛法 http www cs hmc edu oneill papers Sieve JFP pdf杂志 函数式编程 已出版 剑桥大学出版社在线 2008 年 10 月 9 日 doi
  • Spring Social NoSuchMethodError SocialAuthenticationFilter.getFilterProcessesUrl()

    我使用Spring Security登录 现在我正在尝试添加 spring 社交 facebook 登录 但我收到很多错误信息 首先 当我尝试使用相同的方法时春季社交指南 http spring io guides gs accessing
  • Hibernate 4.3.5 不适用于 Oracle10g 数据库

    我正在尝试使用 Hibernate 4 3 5 和 Oracle 数据库 但在运行过程中我遇到了以下问题 相同的代码在 MySQl 数据库中运行良好 org hibernate engine jdbc connections interna
  • Java 中 C# ObservableCollection 的等效项

    我想知道是否存在一种数据结构 其行为类似于 ObservableCollection 几乎就像 C 中一样 能够采用某种类型 ex 在 C 中我可以说 ObservableCollection
  • 通过浏览器链接在代码中连接 teamviewer

    我有一个问题让我抓狂 我已经成功地将我的 teamviewer 会话从浏览器 uri 连接到我所需的远程资源 我通过在浏览器地址栏中使用以下 uri 命令来实现此目的 实际上 这是 html 中的按钮单击 teamviewer8 remot
  • SPARK SQL 中的相关子查询列不允许作为非相等谓词的一部分

    我正在尝试在 where 子句中编写一个子查询 如下所示 但我越来越 非等式谓词中不允许有相关列 SELECT holidays FROM SELECT s holidays s entity FROM transit t tt WHERE
  • Angular bootstrap ui 模式使用相同的控制器而不是新的控制器

    我正在使用 Angular Bootstrap ui 模态框 它说要为新控制器提供一个新的 modalInstance 我想使用与初始化模态框相同的控制器 我搜索但没有成功 我找到了此链接 但没有成功 如何在 Angular UI Boot
  • 使用 Linq 将列表框项值转换为 int

    我使用列表框显示数据库中表的内容 每个列表框项目都使用设置为友好名称的 Text 属性和设置为唯一 ID 列的 Value 属性进行填充 数据库结构可能类似于以下内容 CREATE TABLE GENERIC FRIENDLY NAME T
  • 独立于 Rails 在 HAML 文件中使用布局

    我的最终目标是创建几个静态 HTML 文件以交给其他人 但对于我的工作流程 我希望将 HAML 作为基本源文件 在这样做时 我希望至少在我这边能够干燥这个过程 现在我有很多页面最终将共享一个通用布局 我想知道如何合并这些布局 这是我当前的代
  • 在没有缓冲区的情况下将数据从 fstream 复制到 stringstream?

    无论如何 我可以从fstream 一个文件 到一个stringstream 内存中的流 目前 我正在使用缓冲区 但这需要双倍的内存 因为您需要将数据复制到缓冲区 然后将缓冲区复制到字符串流 直到删除缓冲区为止 数据都会在内存中复制 std