FGETLN(3)

명칭
fgetln - 스트림로부터 행을 취득

프로그램 라이브러리
libc

서식
<stdio.h> char * fgetln(FILE *stream, size_t *len)

해설
fgetln() 함수는, stream 하지만 참조하는 스트림로부터 다음의 행의 포인터를 되돌립니다. 취득한 행은, NUL 캐릭터로 종단 되고 있지 않으므로, C 언어에서의 캐릭터 라인에서는 없습니다. 마지막 개행도 포함한 행의 길이는, len 하지만 가리키는 메모리 위치에 보존됩니다 (다만, 개행으로 끝나지 않는 파일의 마지막에 행이 있는 경우, 되돌려지는 텍스트에 개행은 포함되지 않습니다).

반환값
정상 종료하면(자), 포인터가 되돌려집니다. 이 포인터는, 다음에 stream 그리고 I/O 조작을 실시한 후 (성공이든 실패여라), 혹은 스트림이 닫은 직후로는 무효가 됩니다. 이상종료(ABEND) 했을 경우는 NULL 하지만 되돌려집니다. fgetln() 함수는, 파일의 종료와 에러를 구별하지 않습니다. 파일의 종료인가 에러인지를 판단하려면 , routine feof(3) 및 ferror(3) (을)를 사용하지 않으면 안됩니다. 에러가 발생했을 경우는, 그 에러를 나타내기 위해서(때문에) 글로벌 변수 errno 하지만 설정됩니다. 파일의 종료 상태는 비록 단말이어도 기억됩니다. clearerr(3) 그리고 그 상태가 클리어 될 때까지는, 그 후 독포함을 시도해도 모두 NULL 하지만 돌려주어집니다.

되돌려진 포인터가 지시하는 텍스트는, 그 사이즈를 넘어 변경을 더하지 않는다고 하는 조건이면 변경할 수가 있습니다. 이 변경 내용은, 포인터가 무효가 되면(자) 없어집니다.

에러

[EBADF]
    인수 stream 하지만, 독포함용으로 열린 스트림이 아닙니다.

fgetln() 함수는 에러를 발생해, routine fflush(3), malloc(3), read(2), stat(2), realloc(3) 용으로 지정된 에러중 한쪽이 errno (으)로 설정되는 경우가 있습니다.

관련 항목
ferror(3), fgets(3), fopen(3), putc(3)

역사
fgetln() 함수는, 4.4BSD 그리고 처음 등장했습니다.