关于lof函数和input函数的问题,请高人指点下:

Private Type record
id As Integer
name As String
End Type

Private Sub Command1_Click()
Dim maxsize, nexchar, mychar
Open "d:/notebook.txt" For Input As #2
maxsize = LOF(2)
For nextchar = maxsize To 1 Step -1
Seek #2, nextchar
mychar = Input(1, #2)
Next nextchar
Print EOF(2)
Close #2
End Sub
我想请教的是lof(2)的值怎么计算的,是不是不同类型的文件它的值都不一样呢?
input(1,#2)函数的值又是多少?

lof(2),返回#2 文件的长度,单位是字节 ,和filelen()函数返回结果一样,只是,lof用在已经打开的文件

input(1,#2) ,这句的意思是,返回 #2 号文件的一个字符,就是一个一个的读取字符的意思!!
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-10
lof 返回文件字节数,而input一次读取一个字符。对于中文来说,一个字根据编码不同可以是2字节或是3字节或是4字节。如果用lof作为计数条件用input来读含有中文或是编码非ANSI的文本文件,最后必然是报超出文件尾错误。可以用inputb来读取,这个是每次读取一个字节,但结果要转换成字符就比较麻烦。对于文本文件,如果不需要定位的话用do while not eof()来一直读到文件结束,而不要用lof或filelen。即使需要定位也可以用自己计数的方式解决

关于lof函数和input函数的问题,请高人指点下:
lof(2),返回#2 文件的长度,单位是字节 ,和filelen()函数返回结果一样,只是,lof用在已经打开的文件 input(1,#2) ,这句的意思是,返回 #2 号文件的一个字符,就是一个一个的读取字符的意思!!

几行代码求解释
Input函数的第一个参数是要读入的字符数,它采用的是和Len一样的计数方式,即一个英文字母算一个字符,而一个汉字(两个字节)算一个字符。这看起来是个好主意,你不会读入半个汉字,但实际上糟透了,因为VB的LOF函数和FileLen函数都返回的是字节数,VB中没有一个能区分汉字和英文字母的LOF函数或Fi...

我要编-gv basic的程序,但不知道语言是什么,可以叫我语言么,谢谢(语言...
INPUT# 从顺序文件读取一个字符串 相同 GET 从随机和二进制文件读取数据 相同 PUT 把数据写入随机或二进制文件 相同 LOF 返回随机文件长度 相同 CLOSE 关闭文件 相同 EOF() 当文件指针位于文件结尾时返回-1 相同 其它TRACE 单步跟踪程序执行 相同 LET 将变量赋值 SWAP 交换两下变量的值 相同GVBASIC语言知识要点 ...

vb 中loadfile方法作用?
也可用 Visual Basic 的 Input 函数和 RichTextBox 控件的 TextRTF 和 SelRTF 属性读取 .rtf 文件。例如,可按如下方式加载一个 .rtf 文件的内容到 RichTextBox 控件中:Open "mytext.rtf" For Input As 1 RichTextBox1.TextRTF = Strconv(InputB$(LOF(1), 1), vbUnicode)...

相似回答