请学过VB的帮忙解释下这几行代码,谢谢

2024-11-25 09:28:34
推荐回答(2个)
回答1:

答案补充:所以我才说这个考试题考得太刁钻了嘛。这个128根本没有什么来龙去脉,VB中的这个函数就是这样规定的。这样规定了,谁都没办法。
==============
答案没错。只不过考得很刁钻。
==============
Open "D:\aa.txt" For Input As #1 '打开D:\aa.txt 文件,用顺序文件模式打开,文件号为1
inf = Input(2, #1) 从文件中取出前两个字节内容到inf变量中
Print Seek(1), Loc(1) '关键问题在这里。Seek() 如果作为函数使用,返回值就是当前的读/写位置。Seek(1) 的意思是获取1号文件的当前读/写位置。由于上一语句里面读过两个字节内容,所以当前的读/写位置是第3个字节,Seek(1) =3.这就是输出3的原因。
Loc(1) 的意思也是获取1号文件的当前读写位置,但是他与文件模式有关,现在这个文件是用Input模式也就是顺序文件打开的,那么Loc返回值是当前读写位置除以128的整数值。题目怪就怪在这里。所以,取整(3/128)=1,於是输出1.
不信你把inf = Input(2, #1)改为inf = Input(129, #1)试试,这里就输出2了。

Close #1 '关闭文件

回答2:

d:\aa.txt的文件有不
内容正确不?