在VB中Do While Not EOF(1)是什么意思呢?急!

来源:百度知道 编辑:UC知道 时间:2024/06/20 14:03:50

1、首先,EOF(x)是一个函数,它的返回的函数值是boolean型:当数据指针指向文件末尾时,它的值为true,当指针未指向文件末尾时它的值为false. 函数中的x是一个整型数,代表打开文件时定义的文件号。
一般eof函数跟读取顺序文件相联系,以防到达文件末尾时还要读取数据而出现错误。使用方法是:先打开文件,每读一个数据后用eof判断是否到了文件末尾,如果不到则继续读取,如果到达结尾(eof()=true)则说明已经到达文件末尾,不存在没有读取的数据了,所以立即停止读取。
楼主所举的这个例子恰恰是实现这个过程的其中一句。
2、not eof(1)的含义:“1”表示打开文件时使用的通道号为1#。它的意思是当文件正在读取时,如果指针没有到达结尾,eof(1)=false,根据布尔代数运算规则,not eof(1)的值为true;而当指针到达文件结尾时,not eof(1)的值为false。
3、do while not eof(1)是一个循环语句,它的循环条件是not eof(1)=true,刚才分析过,这个取值表示指针没有到达文件结尾。而停止循环的条件是not eof(1)=false,这个值只有当指针文件到达尾部时才取得。
所以,这个循环条件是指:当指针没有到达文件结尾时,继续循环,而一旦指针到达文件结尾,则停止循环。

举一个读取顺序文件的例子吧:
open d:\a.txt for input as #1
do while not eof(1)
input #1,a
loop
这样就把文件d:\a.txt 中的数据全部读了一遍。当然读取之后再做什么运算或赋值是还要另外编程解决地。

不知楼主是否看明白了?若不明白可留言,我再详细解释。

Do While...Loop,是一个循环的意思
循环的终止条件是EOF(1),这里1指代的是程序在前面打开的一个文件号为#1的文件...EOF表示文件终止...整个起来翻译就是:
只要文件1没有读取完就一直做某事...

完整