吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 564|回复: 10
收起左侧

[资源求助] 易语言如何打开指定二进制文件,并读写指定偏移位置数据

[复制链接]
271029835 发表于 2024-8-7 00:19
50吾爱币
易语言如何打开指定二进制文件,并读写指定偏移位置数据

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lixiaoyao666 发表于 2024-8-7 06:07
[Plain Text] 纯文本查看 复制代码
.版本 2


文件号 = 打开文件 (文件路径, #改读, )
偏移位置 = 999
移动读写位置 (文件号, #文件首, 偏移位置)  ' 偏移从1开始
欲写出数据 = { 12, 555, 11, 222, 1 }
写出字节集 (文件号, 欲写出数据)
关闭文件 (文件号)
MoMo21 发表于 2024-8-7 09:22
步骤

    打开文件:使用打开文件()函数打开要操作的二进制文件。
    定位文件:使用定位文件()函数将文件指针移动到指定的偏移位置。
    读写数据:
        读取数据:使用读取字节集()函数从当前文件指针位置读取数据。
        写入数据:使用写入字节集()函数在当前文件指针位置写入数据。
    关闭文件:操作完成后,使用关闭文件()函数关闭文件。

示例代码

假设我们要打开一个名为"example.bin"的二进制文件,读取偏移位置100处的16个字节,然后修改这些数据,并将修改后的数据写回文件。

e

.版本 2  

.程序集 程序集1  

.子程序 _启动子程序, 整数型, , , 公开  

    .局部变量 文件句柄, 整数型  

    .局部变量 读取数据, 字节集  

    .局部变量 要写入的数据, 字节集  

    .局部变量 偏移位置, 整数型  

    .局部变量 读取长度, 整数型  

  

    偏移位置 = 100  

    读取长度 = 16  

  

    ' 打开文件  

    文件句柄 = 打开文件("example.bin", #二进制读写)  

    如果 (文件句柄 = -1) 则  

        输出("文件打开失败!")  

        返回  

    否则  

        ' 定位到指定偏移位置  

        定位文件(文件句柄, 偏移位置)  

  

        ' 读取数据  

        读取数据 = 读取字节集(文件句柄, 读取长度)  

        如果 (读取数据 = 空字节集) 则  

            输出("读取数据失败!")  

        否则  

            ' 这里可以处理读取到的数据,例如修改它  

            ' 假设我们只是简单地反转字节顺序作为修改  

            要写入的数据 = 反转字节集(读取数据)  

  

            ' 写回数据  

            定位文件(文件句柄, 偏移位置)  

            如果 (写入字节集(文件句柄, 要写入的数据) = 假) 则  

                输出("写入数据失败!")  

            否则  

                输出("数据写入成功!")  

            结束如果  

        结束如果  

    结束如果  

  

    ' 关闭文件  

    关闭文件(文件句柄)  

结束子程序  

  

.子程序 反转字节集, 字节集型, 字节集型, 字节集  

    .参数 字节集, 字节集型  

    .局部变量 反转后, 字节集型  

    .局部变量 长度, 整数型  

    .局部变量 索引, 整数型  

  

    长度 = 取字节集长度(字节集)  

    反转后 = 字节集()  

    对于 索引 = 0 到 长度 - 1  

        取字节集(反转后, 长度 - 索引 - 1) = 取字节集(字节集, 索引)  

    循环  

    返回 (反转后)  

结束子程序
 楼主| 271029835 发表于 2024-8-7 10:56
MoMo21 发表于 2024-8-7 09:22
步骤

    打开文件:使用打开文件()函数打开要操作的二进制文件。

好的,回去我试试,你用的模块能不能发我试试?
 楼主| 271029835 发表于 2024-8-13 19:28
MoMo21 发表于 2024-8-7 09:22
步骤

    打开文件:使用打开文件()函数打开要操作的二进制文件。

这位哥们人哪里去了,不准备结了吗?
 楼主| 271029835 发表于 2024-8-13 19:43
lixiaoyao666 发表于 2024-8-7 06:07
[mw_shl_code=text,true].版本 2

1
2
3
4
5
6
7
8
9
.版本 2


文件号 = 打开文件 (文件路径, #改读, )
偏移位置 = 999
移动读写位置 (文件号, #文件首, 偏移位置)  ' 偏移从1开始
欲写出数据 = { 12, 555, 11, 222, 1 }                             这里没有看懂,可否说明下
写出字节集 (文件号, 欲写出数据)
关闭文件 (文件号)
lixiaoyao666 发表于 2024-8-13 20:29

就是把要写出的数据转为字节集

比如:
欲写出数据 =字节集_十六进制到字节集(“FF2076FBAF”)       
或者
欲写出数据 =到字节集(“想写出的文本”)
之类
 楼主| 271029835 发表于 2024-8-14 08:49
lixiaoyao666 发表于 2024-8-13 20:29
就是把要写出的数据转为字节集

比如:

我晚点再找你,今天有事要出去,我到时候把想实现的再跟你说一下,上个图片,这样更好理解一下,
 楼主| 271029835 发表于 2024-8-18 16:15
lixiaoyao666 发表于 2024-8-13 20:29
就是把要写出的数据转为字节集

比如:

C:\Users\Administrator\Desktop\图片2.png
 楼主| 271029835 发表于 2024-8-18 16:17
lixiaoyao666 发表于 2024-8-13 20:29
就是把要写出的数据转为字节集

比如:

晕,居然不会贴图片
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 10:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表