2011-02-23 7 views
1

C에서는 입력을 읽고 파일 끝에 도달하면 프로그램을 중지 할 수 있습니다 (EOF). 그렇게.파일 끝까지 어떻게 읽습니까?

#include <stdio.h> 

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

루아에서 어떻게 할 수 있습니까?

답변

6

Lua Documentation은 파일 읽기 및 기타 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 
+0

예제 프로그램은 줄 번호 매기기가 아니고 quoted-printable-encoding입니다. (더 낮은 제어 문자를 더 잘 처리해야한다고 생각합니다.) –

+0

나쁜 사람 - 잘못된 예제가 붙여 넣었습니다 :) 그 두 가지 모두 문서에서 사용할 수 있습니다 : io.lines()에서 s에 대한 –

3

, 당신은 라인과 수표로 라인을 읽을 수 있습니다 행이 nil (행이 EOF 일 때 리턴 됨) 인 경우.

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

무언가를 끝내십시오 – AndersH

+0

@AndresH 클리너 솔루션을 이용해 주셔서 감사합니다. 어떤 이유로 나는 stdin에서 작동하지 않는다고 생각했다. – prasanna

관련 문제