반응형
#eof #_eof #파일 #끝부분
#include <io.h> int eof(int handle); |
파일의 끝부분인지 검사합니다.
eof 함수는 handle과 관련된 파일의 끝부분에 도달했는지 알려줍니다.
eof 함수는 현재 위치가 파일의 끝 부분인경우에는 1, 그렇지 않은 경우에는 0 반환합니다.
오류가 발생하면 -1을 반환하고 번역변수 errno를 EBADF(파일 번호(핸들)가 잘못되어 있음)로 설정합니다.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <io.h>
#include <sys/stat.h>
int main()
{
int handle;
char buffer[] = "C Language Programming.";
char c;
// 파일을 생성한다.
handle = open("testeof.dat", O_CREAT | O_RDWR,
S_IREAD | S_IWRITE);
// 파일에 저장한다.
write(handle, buffer, strlen(buffer));
// 파일의 처음으로 이동한다.
lseek(handle, 0L, SEEK_SET);
// eof 함수를 이용해서 파일의 끝까지 이동한다.
do {
read(handle, &c, 1); // 한 문자를 읽는다.
printf("%c", c);
} while (!eof(handle));
close(handle);
return 0;
}
비주얼스튜디오에서는 아래의 코드를 사용합니다.
#define _CRT_SECURE_NO_WARNINGS // Visual Studio
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <io.h>
#include <sys/stat.h>
int main()
{
int handle;
char buffer[] = "C Language Programming.";
char c;
// 파일을 생성한다.
handle = _open("testeof.dat", O_CREAT | O_RDWR,
S_IREAD | S_IWRITE);
// 파일에 저장한다.
_write(handle, buffer, strlen(buffer));
// 파일의 처음으로 이동한다.
_lseek(handle, 0L, SEEK_SET);
// eof 함수를 이용해서 파일의 끝까지 이동한다.
do {
_read(handle, &c, 1); // 한 문자를 읽는다.
printf("%c", c);
} while (!_eof(handle));
_close(handle);
return 0;
}
반응형
'C_C++ > C_라이브러리_함수' 카테고리의 다른 글
(C언어) exit: 프로그램을 종료시킨다 (1) | 2023.02.03 |
---|---|
(C언어) exec.. execl, execle, execlp, execlpe, execv, execve, execvp, execvpe: 다른 프로그램을 실행시킵니다 (0) | 2023.02.03 |
(C언어) evct: 부동소숫점 숫자를 문자열로 변환 (0) | 2023.02.03 |
(C언어) div: 나눗셈의 몫과 나머지를 구함 (0) | 2023.02.03 |
(C언어) difftime: 두 시간 사이의 시간 차이 계산 (1) | 2023.02.02 |