qq_37727187 2023-02-14 10:32 采纳率: 96%
浏览 85
已结题

c# 如何修改bin文件内的指定位置的内容

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# 中的数组索引,请注意要将偏移量与文件的基础偏移量进行相加。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 已采纳回答 4月25日
  • 创建了问题 2月14日

悬赏问题

  • ¥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进制修改视频的元数据