看流星社区

 找回密码
 注册账号
查看: 9338|回复: 2

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

[复制链接]

该用户从未签到

发表于 2014-7-22 08:18:46 | 显示全部楼层 |阅读模式
在VB中Do While Not EOF(1)是什么意思呢?急!

该用户从未签到

发表于 2014-7-22 08:19:03 | 显示全部楼层
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 中的数据全部读了一遍。当然读取之后再做什么运算或赋值是还要另外编程解决地。

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

该用户从未签到

发表于 2018-11-26 23:21:45 | 显示全部楼层
写得比较透彻,楼主辛苦了
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 22:29

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表