如何阅读直到文件末尾?

问题描述 投票:0回答:2

在 C 中,我可以读取输入并在到达文件末尾时停止程序 (

EOF
)。就像这样。

#include <stdio.h>

int main(void) {
    int a;       
    while (scanf("%d", &a) != EOF)
        printf("%d\n", a);
    return 0;
}

我怎样才能在Lua中做到这一点?

input lua eof
2个回答
9
投票

Lua 文档 提供了大量有关文件读取和其他 IO 的详细信息。要读取整个文件,请使用:

t = io.read("*all")

该文档有逐行阅读等示例。希望这会有所帮助。

读取文件的所有行并对每一行进行编号(逐行)的示例:

   local count = 1
    while true do
      local line = io.read()
      if line == nil then break end
      io.write(string.format("%6d  ", count), line, "\n")
      count = count + 1
    end

3
投票

对于lua中的类似程序,您可以逐行读取它并检查该行是否为nil(当该行为EOF时返回)。

while true do
  local line = io.read()
  if (line == nil) then break end
end
© www.soinside.com 2019 - 2024. All rights reserved.