c# 有一个bin文件,请问应该如何去修改bin文件内的指定位置的内容
3条回答 默认 最新
- zmy1127 2023-02-14 10:43关注
要修改一个二进制文件中的指定位置的内容,可以使用 C# 的二进制文件读写功能。以下是一个基本的示例,演示如何打开一个二进制文件,将文件指针移动到指定位置,然后写入新的字节:
using System; using System.IO; class Program { static void Main(string[] args) { string fileName = "example.bin"; int offset = 0x10; // 指定要修改的偏移量 byte[] newBytes = { 0x12, 0x34, 0x56, 0x78 }; // 指定要写入的新字节 using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite)) { fs.Seek(offset, SeekOrigin.Begin); // 将文件指针移动到指定位置 fs.Write(newBytes, 0, newBytes.Length); // 将新字节写入文件 } Console.WriteLine("文件修改成功。"); } }
这个示例打开一个名为 "example.bin" 的二进制文件,将文件指针移动到偏移量为 0x10 的位置,然后将新字节 {0x12, 0x34, 0x56, 0x78} 写入该位置。最后,程序输出一个消息,指示文件修改已成功完成。注意,如果要将二进制文件的特定位置视为 C# 中的数组索引,请注意要将偏移量与文件的基础偏移量进行相加。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 宝塔ssl证书一直待待验证
- ¥15 相近语义 不同表达 匹配
- ¥15 [vasp+phonopy]表面模型的间隙扩散系数中尝试频率如何用声子频率计算
- ¥15 现在新建了一个f1的就不行了包括所有新建的项目都无法生成,路径命名都没问题,keil和cubemx重装过还是不行,如何解决?(标签-java|关键词-固件)
- ¥15 web前端开发怎么实现像图片这样的页面啊?
- ¥15 ubuntu 20.04 网卡启用后,只有ipv6 没有 ipv4 无法上网
- ¥15 QT任务管理器无法正确获取展开,有悬赏15元速求,如何解决?(相关搜索:标识符|结构体)
- ¥15 使用delphi 10.3+intraweb 生成的页面怎么实现自动滚屏
- ¥20 思科:Router c3600 MN-4E插槽
- ¥15 16进制修改视频的元数据