开发者

How do I read until the end of file?

In C, I can read an input and stop the program when it reaches the end of file (EOF). Like so.

#include <stdio.h>

int main(void) {
    int a;       
    while (scanf("%d", &a) != 开发者_运维百科EOF)
        printf("%d\n", a);
    return 0;
}

How can I do that in Lua?


The Lua Documentation features a ton of details on file-reading and other IO. For reading an entire file:

t = io.read("*all")

apparently reads an entire file. The documentation has examples on reading line-by-line etc. Hope this helps.

Example on reading all lines of a file and numbering each of them (line-by-line):

   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


For a similar program in lua, you can read it line by line and check if the line is nil(which is returned when the line is EOF).

while true do
  local line = io.read()
  if (line == nil) then break end
end
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜