求教VB读写二进制文件的方法

normandj 2013-08-15 06:26:21
Fso不支持二进制文件的读写,open 函数 中的 filename 支持的长度有限,只支持200多字节这样,100多中文写就完了,在实际环境中很容易就超过了。请问还有别的读写二进制文件的方法吗?
...全文
269 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-08-19
  • 打赏
  • 举报
回复
Input 函数示例
本示例使用 Input 函数来一次读文件中一个字符,并将它显示到立即窗口。本示例假设 TESTFILE 文件内含数行文本数据。

Dim MyChar
Open "TESTFILE" For Input As #1   ' 打开文件。
Do While Not EOF(1)   ' 循环至文件尾。
   MyChar = Input(1, #1)   ' 读入一个字符。
   Debug.Print MyChar   ' 显示到立即窗口。
Loop
Close #1   ' 关闭文件。

赵4老师 2013-08-19
  • 打赏
  • 举报
回复
Input 函数 返回 String,它包含以 Input 或 Binary 方式打开的文件中的字符。 语法 Input(number, [#]filenumber) Input 函数的语法具有以下几个部分: 部分 描述 number 必要。任何有效的数值表达式,指定要返回的字符个数。 filenumber 必要。任何有效的文件号。 说明 通常用 Print # 或 Put 将 Input 函数读出的数据写入文件。Input 函数只用于以 Input 或 Binary 方式打开的文件。 与 Input # 语句不同,Input 函数返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。 对于 Binary 访问类型打开的文件,如果试图用 Input 函数读出整个文件,则会在 EOF 返回 True 时产生错误。在用 Input 读出二进制文件时,要用 LOF 和 Loc 函数代替 EOF 函数,而在使用 EOF 函数时要配合以 Get 函数。 注意 对于文本文件中包含的字节数据要使用 InputB 函数。对于 InputB 来说,number 指定的是要返回的字节个数,而不是要返回的字符个数。
舉杯邀明月 2013-08-16
  • 打赏
  • 举报
回复
直接对磁盘扇区进行读写,就没有“路径长度限制”的问题。
韧恒 2013-08-16
  • 打赏
  • 举报
回复
open 函数只支持短文件名,因此你可以先用API函数GetShortPathName将文件名转为短文件名,然后使用open函数进行操作。 我不建议使用FSO对象,因为很多情况下它的效率不高。
worldy 2013-08-15
  • 打赏
  • 举报
回复
ado流对象 api函数

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧