다음: 기록철 위치, 이전: 임시 기록철, 상위 문서: C 형식 입출력 함수   [차례][찾아보기]


14.2.18 기록철 끝과 오류

기록철을 열고 나면 기록철 상태를 확인할 수 있습니다. feof 함수로 기록철 끝에 도달했는지 알아보는 것이 한 예입니다. 이는 기록철 부분부분을 따로따로 읽어볼 때 매우 유용합니다. 아래 예시는 기록철 끝에 닿을 때까지 기록철을 한 줄씩 읽는 방법을 보여줍니다.

filename = "myfile.txt";
fid = fopen (filename, "r");
while (! feof (fid) )
  text_line = fgetl (fid);
endwhile
fclose (fid);

기록철을 한 줄씩 읽는 것보다 통째로 읽어 처리하는 것이 더 효율적일 때가 있습니다. 통째로 읽기는 위 부호에서 반복문을 없앨 수 있다는 잠재된 장점이 있습니다.

상태 = feof (기록철_식별자)

기록철 서술어 기록철_식별자와 이어진 기록철이 기록철 끝 조건을 만족하면 1을 되돌려주고, 만족하지 않으면 0을 되돌려줍니다.

Note that feof will only return 1 if the end of the file has already been encountered, not if the next read operation will result in an end-of-file condition.

같이 보기: fread, frewind, fseek, fclear, fopen.

안내 = ferror (기록철_식별자)
[안내, 오류] = ferror (기록철_식별자)
[…] = ferror (기록철_식별자, "clear")

기록철 서술자 기록철_식별자와 이어진 흐름의 오류 상태를 알아봅니다.

오류가 존재하면, 문자열 안내에 오류 설명을 넣어 되돌려줍니다. 오류가 없으면, 빈 문자열 ""을 되돌려줍니다.

두 번째 입력인 "clear"은 선택입니다. 이 입력을 주면, 흐름의 오류 상태를 지웁니다.

선택인 두 번째 출력은 오류 상태에 대한 숫자 표시입니다. 오류와 만나면 오류는 1이 되고, 오류와 만나지 않으면 0입니다.

ferror는 이미 발생한 오류를 표시하는 역할을 하며, 다음 번 작업으로 인하여 오류가 발생할지 알려주지는 않음에 유의하십시오.

같이 보기: fclear, fopen.

fclear (기록철_식별자)

기록철 서술자 기록철_식별자와 이어진 기록철의 흐름 상태를 지웁니다.

같이 보기: ferror, fopen.

freport ()

열린 기록철 목록과 기록철이 읽기 전용, 쓰기 전용, 읽기 및 쓰기용인지를 출력합니다.

예시:

freport ()

     -|  number  mode  arch       name
     -|  ------  ----  ----       ----
     -|     0     r    ieee-le    stdin
     -|     1     w    ieee-le    stdout
     -|     2     w    ieee-le    stderr
     -|     3     r    ieee-le    myfile

같이 보기: fopen, fclose, is_valid_file_id.


다음: 기록철 위치, 이전: 임시 기록철, 상위 문서: C 형식 입출력 함수   [차례][찾아보기]