用 input #1 读取文件时,怎样判断已读到最末行(文件尾)?

解决方案 »

  1.   

    while not eof(#1)
        input #1
    wend
      

  2.   

    EOF 函数
    返回一个 Integer,它包含 Boolean 值 True,表明已经到达为 Random 或顺序 Input 打开的文件的结尾。语法EOF(filenumber)必要的 filenumber 参数是一个 Integer,包含任何有效的文件号。说明使用 EOF 是为了避免因试图在文件结尾处进行输入而产生的错误。直到到达文件的结尾,EOF 函数都返回 False。对于为访问 Random 或 Binary 而打开的文件,直到最后一次执行的 Get 语句无法读出完整的记录时,EOF 都返回 False。对于为访问 Binary 而打开的文件,在 EOF 函数返回 True 之前,试图使用 Input 函数读出整个文件的任何尝试都会导致错误发生。在用 Input 函数读出二进制文件时,要用 LOF 和 Loc 函数来替换 EOF 函数,或者将 Get 函数与 EOF 函数配合使用。对于为 Output 打开的文件,EOF 总是返回 True。
      

  3.   

    本示例使用 EOF 函数来检测文件尾。示例中假设 MYFILE 为有数个文本行的文本文件。Dim InputData
    Open "MYFILE" For Input As #1 ' 为输入打开文件。
    Do While Not EOF(1) ' 检查文件尾。
    Line Input #1, InputData ' 读入一行数据。
    Debug.Print InputData ' 在调试窗口中显示。
    Loop
    Close #1 ' 关闭文件。