为什么我读入的文件才500多兆就提示内存错误呢?不是说2G以下都没问题吗?我是准备把读入的字节集替换内容,必须先要将内容合并后再查找替换,如果分段查找替换可能会出现要替换的内容被分开就无法查找到也就漏掉替换不完整,有时文件有三四个G,所以只能分块读入,哪位帮忙修改一下,谢谢
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 读入文件号 | 整数型 | | | 文件大小 | 长整数型 | | | 循环次数 | 整数型 | | | i | 整数型 | | | 读入文件字节集 | 字节集 | | | 合并内容 | 字节集 | | |
读入文件号 = 打开文件A (“C:\Users\Administrator\Desktop\新建文件夹\20240504101658.prn”, , , )文件大小 = 取文件大小 (读入文件号 )循环次数 = 文件大小 ÷ (200 × 1024 × 1024 )移到文件首 (读入文件号 ) 计次循环首 (循环次数 + 1, i ) 读入文件字节集 = 读文件字节集 (读入文件号, 200 × 1024 × 1024, ) 合并内容 = 合并内容 + 读入文件字节集 改变读写位置 (读入文件号, i × 200 × 1024 × 1024, ) 计次循环尾 ()调试输出 (取字节集长度 (合并内容 )) 关闭文件句柄 (读入文件号 )信息框 (“OK”, 0, , )
补充内容 (2024-5-5 08:03):
为什么易语言自带的服务器接收的数据合并后超2G不报错,还有HPSocket的指针到字节集取回的数据合并也可以超2G不报错?是否取回数据前已申请内存? |