以附加模式打开文件时,如何重新定位文件指针?

2023-12-28

我正在尝试将一些数据插入文件的中间。我已以追加模式打开文件:

file = fopen(msg->header.filename, "ab");

然后我尝试在文件中寻找所需的偏移量,如下所示:

fseek(file, msg->header.offset, SEEK_SET);

但是,当我尝试 fwrite 时,如下所示:

int bytesWritten = fwrite(msg->message, 1, msg->header.length, file);

所有数据都写入文件末尾而不是文件中间。

这是因为我使用的是附加模式吗?我会以写入模式打开,但我需要保留文件中的现有内容。


查看 ANSI C 函数 fopen 对于“a”(APPEND)模式的规范:All写操作发生在文件末尾。 你的 fseek 将被忽略。

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

以附加模式打开文件时,如何重新定位文件指针? 的相关文章

  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • Clang 编译器 (x86):80 位长双精度

    我正在尝试在 x86 Windows 平台上使用本机 80 位长双精度 海湾合作委员会选项 mlong double 80 https gcc gnu org onlinedocs gcc x86 Options html似乎不适用于 cl
  • 对齐 GridView 中的行值

    我需要在 asp net 3 5 中右对齐 gridview 列中的值 我怎样才能做到这一点
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • 基于xsd模式生成xml(使用.NET)

    我想根据我的 xsd 架构 cap xsd 生成 xml 文件 我找到了这篇文章并按照说明进行操作 使用 XSD 文件生成 XML 文件 https stackoverflow com questions 6530424 generatin
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • 实例化 Microsoft.Office.Interop.Excel.Application 对象时出现错误:800700c1

    实例化 Microsoft Office Interop Excel Application 以从 winforms 应用程序生成 Excel 时 出现以下错误 这之前是有效的 但突然间它停止工作了 尽管代码和 Excel 版本没有变化 我

随机推荐

  • 数据流中的 nltk 依赖关系

    我知道外部Python依赖项可以通过requirements txt文件输入到Dataflow中 我可以在我的数据流脚本中成功加载 nltk 然而 nltk 通常需要下载更多文件 例如停用词或 punkt 通常在本地运行脚本时 我可以运行
  • 返回局部变量行为的地址[重复]

    这个问题在这里已经有答案了 可能的重复 局部变量的内存可以在其作用域之外访问吗 https stackoverflow com questions 6441218 can a local variables memory be access
  • 我应该如何从 scipy.sparse.csr.csr_matrix 和列表进行子采样

    我有一个scipy sparse csr csr matrix表示文档中的单词和列表列表 其中每个索引表示矩阵中每个索引的类别 我遇到的问题是我需要从数据中随机选择 N 行 所以如果我的矩阵看起来像这样 1 3 2 3 4 4 1 5 2
  • 使用 .NET 检查 Internet 连接的最佳方法是什么?

    在 NET 中检查 Internet 连接的最快 最有效的方法是什么 您可以使用此代码 它也应该适用于伊朗和中国 public static bool CheckForInternetConnection int timeoutMs 100
  • git fsck 代表什么?

    后面的是什么意思fsck命令名称 The 文档 http git scm com docs git fsck该命令的似乎没有提及该名称代表什么 它代表文件系统检查 这个名字取自Unixfsck http linux die net man
  • 用于克隆数据库的 SQL 脚本,保持原始数据库不变

    我们目前有 CMS 的基本安装 在此 CMS 中 它包含用户 产品 内容等的完整工作数据集 我们希望增加安装时间 因为现在我们必须进入 SQL Server 2012 创建一个新数据库 然后从现有基本安装数据库恢复该数据库 我们每次安装可能
  • 我不断收到错误消息,指出范围列太小

    我正在编写一些代码 当我尝试运行它时出现错误 范围的起始列太小 我正在使用 Google Apps 脚本 我收到的错误就在这一行 var cellCup ss getRange ctCup 0 activate getValue const
  • 如何使用较旧的第三方依赖项在 net46 框架上构建 ASP.NET Core RC2 应用程序

    我有一个闪亮的新 Asp Net Core MVC 应用程序 它引用了一些旧的net45图书馆 在完整的 net45 框架上与 Asp Net Core RC1 配合良好 从 Asp NET Core rc1 迁移到 rc2 我遇到了一个我
  • org.hibernate.tool.schema.spi.CommandAcceptanceException:使用 h2 和 JPA 在 SpringBoot 中通过 JDBC 语句执行 DDL 时出错

    使用 h2 数据库和 JPA 运行 spring boot 时 出现以下错误 org hibernate tool schema spi CommandAcceptanceException Error executing DDL via
  • jQuery 缓动在我的 animate() 调用中不起作用

    我有 4 个圆形按钮 位于中心区域在我的页面上 http goo gl yacZly 将鼠标悬停其中一个会使其尺寸增大 但我想为这些按钮的增大和缩小运动添加一些缓动 弹跳效果 但是由于某种原因 缓动部分不起作用 我确实将缓动插件添加到我的页
  • 奇怪的Java Unicode正则表达式StringIndexOutOfBoundsException

    我的问题很简单 但却令人费解 可能有一个简单的开关可以解决这个问题 但我在 Java 正则表达式方面经验不多 String line line replaceAll i 1 2 1 这会崩溃 如果我删除 i 开关 有效 这三个unicode
  • 在启动时运行 python 脚本 - debian

    我已经使用网络摄像头创建了一个应用程序 在这里 我的应用程序打开一个窗口来显示图像 我想在启动时运行该应用程序 如果我将启动文件放入 rc local 中 它会在启动时成功运行 但不允许显示窗口 表明 gtk warning cannot
  • FlatBuffers:如何写入巨型文件

    我正在尝试使用 FlatBuffers 来存储 OpenStreetMap 数据 所以 这将是 50GB 由于通常所有内容都保存在内存中 因此如何可能 如果有的话 将数据顺序写入文件 我有一种感觉 这并不是 FlatBuffers 所擅长的
  • 如何检查TouchID是否启用

    有什么方法可以检查我的应用程序是否启用了 TouchID 我如何检查我的应用程序是否启用了 TouchID 例如 DropBox 能够启用图形打印传感器 现在有什么方法可以检查我的应用程序是否显示基于 touchid 的 TouchID 屏
  • 重新审视网站优化经验法则:现代浏览器的底层仍然需要 JavaScript?

    十多年来我一直在关注 Web 开发趋势 我一直坚持的最大的网站优化技术之一就是将 JavaScript 放在网站的底部 我坚持的理由是 JavaScript 会阻止并行下载 并且每个主机名一次只能下载两个组件 如果添加到文档标题中 这将对您
  • 无法理解块的词法范围

    为了理解块的词法范围 我编写了以下代码 typedef int MyBlock void MyBlock b 3 for int i 0 i lt 3 i b i return i for int i 0 i lt 3 i NSLog d
  • Symfony2 img/LdapBundle 凭据错误错误

    我是 Symfony2 的新手 正在尝试使用上面的包连接到 ldap 但是我不断收到 错误凭据 错误 我不明白为什么 我的 Security yml 文件如下所示 security firewalls restricted area pat
  • 使用 Javascript 设置 HTML 的内容

    在网页中 我调用一个 WebService 它为我提供了一个整数值 我需要在文本块中显示该值 我目前正在使用 HTML span 到目前为止 我已经找到了两种将我的价值放入跨度中的方法 innerText 是一种 IE 专有的方法 并且in
  • Elasticsearch sum_bucket,从结果中去除中间聚合

    我有以下查询 我执行第一项聚合 返回大量存储桶 然后在此存储桶上执行指标聚合 此中的平均值 例子 最后是 sum bucket 聚合 当我运行这个查询时 输出包含所有中间 my huge bucket my huge bucket metr
  • 以附加模式打开文件时,如何重新定位文件指针?

    我正在尝试将一些数据插入文件的中间 我已以追加模式打开文件 file fopen msg gt header filename ab 然后我尝试在文件中寻找所需的偏移量 如下所示 fseek file msg gt header offse