当前位置:编程学习 > VB >>

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

Fso不支持二进制文件的读写,open 函数 中的 filename  支持的长度有限,只支持200多字节这样,100多中文写就完了,在实际环境中很容易就超过了。请问还有别的读写二进制文件的方法吗? --------------------编程问答-------------------- ado流对象
api函数 --------------------编程问答-------------------- 这么长的文件名,比较变态!
就用变态的方法试试:
将文件路径拆开,一层层进入子目录,最后在当前目录打开文件。
ChDrive "C"
ChDir "变态变态……变态1"
ChDir "变态变态……变态2"
……
Open "变态变态……变态.dat" For Binary As #hFile
--------------------编程问答-------------------- open 函数只支持短文件名,因此你可以先用API函数GetShortPathName将文件名转为短文件名,然后使用open函数进行操作。
我不建议使用FSO对象,因为很多情况下它的效率不高。 --------------------编程问答-------------------- 直接对磁盘扇区进行读写,就没有“路径长度限制”的问题。
--------------------编程问答--------------------  
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 指定的是要返回的字节个数,而不是要返回的字符个数。
--------------------编程问答--------------------
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   ' 关闭文件。

补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,