如何在C++中写入文件的中间?

2024-04-12

我认为这应该很简单,但到目前为止我的谷歌搜索没有帮助...我需要用 C++ 写入现有文件,但不一定在文件末尾。

我知道当我只想将文本附加到文件中时,我可以传递标志ios:app打电话时open在我的流对象上。但是,这只能让我写入文件的最末尾,而不是写入文件的中间。

我做了一个简短的程序来说明这个问题:

#include <iostream>
#include <fstream>

using namespace std;

int main () {

  string path = "../test.csv";

  fstream file;
  file.open(path); // ios::in and ios::out by default

  const int rows = 100;
  for (int i = 0; i < rows; i++) {
    file << i << "\n";
  }  

  string line;
  while (getline(file, line)) {
    cout << "line: " << line << endl; // here I would like to append more text to certain rows
  }


  file.close();

}

您不能在文件中间插入。您必须将旧文件复制到新文件,并在复制到新文件的过程中在中间插入您想要的任何内容。

否则,如果您打算覆盖现有文件中的数据/行,可以使用std::ostream::seekp()来识别文件中的位置。

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

如何在C++中写入文件的中间? 的相关文章

  • 赋值运算符和复制构造函数有什么区别?

    我不明白C 中赋值构造函数和复制构造函数之间的区别 是这样的 class A public A cout lt lt A A lt lt endl The copy constructor A a b The assignment cons
  • Qt - 无法让 lambda 工作[重复]

    这个问题在这里已经有答案了 我有以下功能 我想在其中修剪我的std set
  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • C++派生模板类继承自模板基类,无法调用基类构造函数[重复]

    这个问题在这里已经有答案了 我试图从基类 模板 继承 派生类也是模板 它们具有相同的类型 T 我收到编译错误 非法成员初始化 Base 不是基类或成员 为什么 如何调用基类构造函数 include
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它

随机推荐

  • Jquery 包装AllInner() ? -- 或者内部应用wrapAll()?

    我正在尝试插入一个开口 div class container after 和一个结束语 div before 我希望有一个类似的功能wrapAll 这将适用于内部html 一个元素的 就像是wrapAllInner 会很好 我试过了 1
  • 如何通过蓝牙读取Leica DISTO的数据?

    我有一台 Leica DISTO D3a BT 它是一个测量设备 通过蓝牙发送测量结果 我编写了一些代码来获取蓝牙流 我收到了数据 但总是收到 错误 240 消息 这意味着 从用户手册来看 我不确认数据传输是否成功 我该怎么做 这是我的代码
  • Kohana 3:经过验证的模型示例

    我找到有关模型和验证的示例和教程 我说验证 或至少大部分 应该在模型中 我同意这一点 但我无法提供任何示例或教程来说明应该如何完成此操作 谁能帮我举一个简单的例子来说明如何做到这一点 模型中的规则在哪里 验证将在哪里进行 控制器如何知道验证
  • DDD和应用层

    我在DDD中添加 Stateful Stateless WebService等是应用层 应用服务 吗 从下面的链接来看 这似乎是正确的 第二个问题 我创建了一个存储库类 所有涉及存储库的方法调用都应该包装在应用程序服务中吗 或者我可以直接在
  • 删除 Firefox Web 扩展不会清除 chrome.storage.local

    好像chrome storage local即使卸载了扩展程序 也会继续存储任何数据 此行为在 Chrome 中未观察到 仅在 Firefox 中观察到 关于如何修复它有什么想法吗 这是错误 1213990 https bugzilla m
  • 非连续整数 C++ 枚举的最佳方法是什么

    继C 枚举模式 https stackoverflow com questions 12972317 count on enum c automatic我已经在这里描述过 我试图做类似的事情 但这次我想要使用的值序列不包含连续整数 代码显然
  • MS Access 无法链接到加密的后端数据库

    我有一个难题 我已经开发了一个 Access 应用程序 并准备分发它 我刚刚分割了数据库 我知道 有人说我应该从一开始就分开开发它 我没有 我还刚刚加密了后端数据库 在前端 我已链接到后端并在出现提示时输入正确的密码 链接的表现在出现在我的
  • 如何将嵌入窗口内的实时控制台会话添加到 Light Table?

    如果在 LightTable 的子窗口中嵌入一个控制台 可以减少所有编程语言开发过程中打开的窗口数量 那就太好了 最好这适用于所有平台 但至少有一个适用于 Linux 的平台会非常好 None
  • 由 create-react-app 创建后立即添加包不起作用

    我的反应很新 一天前开始 我使用 create react app 命令行来创建应用程序 我按照以下顺序尝试了 创建反应应用程序我的应用程序 npm 启动 此时应用程序运行良好 然后我做了以下事情 npm 安装 youtube api se
  • 在Android中我怎样才能知道当前的通知ID来清除通知

    现在在 android 中 我将此代码放入一个活动中 以便在按下按钮时显示通知 static int notificationCount 0 then btnNotification setOnClickListener new View
  • React Native Fetch:第二个承诺挂起

    React Native 的 fetch 出现了奇怪的问题 它以前可以工作 不确定我改变了什么 但它停止工作了 login data success fail console log doing fb login fetch host ap
  • 如何在 Laravel 4 中使用参数和 CASE 语句进行更新查询

    我正在尝试创建带有参数的 mysql UPDATE 查询 此外 如果字段不为空 我想附加到字段的末尾 为此 我使用 CASE 语句 这是我对学说的疑问 来自 silex query UPDATE table SET filed CASE W
  • EntityFramework Core Fluent 模型生成器键和属性

    好的 在实体框架 6 中 我将在一个语句中生成键和属性数据库 modelBuilder Entity
  • 如何在 Rails3 中使用 oauth 连接到 Gmail 的 IMAP 服务器?

    我找到了gmail xoauth http github com nfo gmail xoauthgem 它可以完成我需要的大部分功能 但我还需要从 Rails3 内部生成 oauth 令牌 consumer key 和consumer s
  • scala 2.9.1 中 Set4 的奇怪行为?

    从 2 8 1 迁移到 2 9 1 发现了有趣的事情 试图在控制台中写这个 gt gt import collection immutable Set Set4 gt gt new Set4 Int 1 2 3 4 它给 java lang
  • 在 iReport 中使用条件格式

    我有一份提供数据表的报告 到目前为止 该报告效果很好 现在我需要根据一些单元格的内容值对它们进行着色 我曾经在文本字段表达式中包含配色方案 例如 F MyBooleanValue true 这可行 但它很脏 而且管理和重复使用非常困难 所以
  • 在 C# 中使用 Delphi DLL

    我有一个用 Delphi 未知版本 编写的第三方 神秘 dll delphi 中的工作示例 2009 年过去 非常需要在我的 C 代码中使用所述 dll 并且几乎没有关于如何做到这一点的相关知识 这是使用这个 dll 的 Delpi 示例
  • 原子发布可以被“覆盖”吗?

    说我有atomic
  • Windows mobile C# 项目中将文件上传到服务器

    我们设置了服务器和 Windows 移动设备作为客户端 在服务器 CSI 脚本中 准备好接受来自客户端的单个文件 在Desktop中我们使用WebClient UploadFile方法将文件上传到服务器 但是在Windows Mobile中
  • 如何在C++中写入文件的中间?

    我认为这应该很简单 但到目前为止我的谷歌搜索没有帮助 我需要用 C 写入现有文件 但不一定在文件末尾 我知道当我只想将文本附加到文件中时 我可以传递标志ios app打电话时open在我的流对象上 但是 这只能让我写入文件的最末尾 而不是写