FreeBasic 0.4.6 FBide:读取文件字节到数组的更优实现咨询
FreeBasic 读取文件字节到数组的优化实现
你的代码可以正常运行,但确实有更简洁高效的实现方式——核心是避免重复打开/关闭文件,原代码两次打开文件的操作完全可以合并,既减少IO开销,又缩短代码行数。
优化后的代码
DIM L as ulong, NameF as string Input "Enter Name of the File", NameF Open NameF For Binary Access Read As #1 L = LOF(1) DIM T(1 to L) As Ubyte Get #1, , T() Close #1
优化说明
- 只执行一次文件打开/关闭操作,省略了原代码中第一次打开取长度后关闭的步骤,减少了不必要的系统IO调用
- 逻辑更连贯:打开文件后先获取长度,再定义对应大小的数组,直接读取内容,流程更顺畅
- 功能与原代码完全一致,不会改变读取文件字节到数组的结果
另外还有一种思路是用FILELEN函数直接获取文件长度,不用先打开文件,但这种方式存在风险:如果获取长度后到打开文件前,文件被修改或删除,会导致后续读取出错,因此更推荐上面的单次打开文件的优化方案。
内容的提问来源于stack exchange,提问作者Manuel Oliveros
相关产品推荐
相关产品推荐

