고흐의 연구실/C언어와 C++
[C언어] 파일관련(2) 파일 크기 구하기 fseek(), ftell(), feof()
전고흐
2020. 9. 30. 20:57
728x90
- fseek(파일포인터, 이동할크기, 기준점);
- int fseek(FILE *_Stream, long _Offset, int _Origin);
- 성공하면 0, 실패하면 -1을 반환
- fseek(fp, 0, SEEK_SET); = rewind(fp)
- ftell(파일포인터);
- long ftell(FILE *_Stream);
- 파일 포인터의 현재 위치를 반환, 실패하면 -1을 반환
ㅇExample
#define _CRT_SECURE_NO_WARNINGS // fopen 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h> // fopen, fseek, ftell, fclose 함수가 선언된 헤더 파일
int main()
{
int size;
FILE *fp = fopen("hello.txt", "r"); // hello.txt 파일을 읽기 모드(r)로 열기.
// 파일 포인터를 반환
fseek(fp, 0, SEEK_END); // 파일 포인터를 파일의 끝으로 이동시킴
size = ftell(fp); // 파일 포인터의 현재 위치를 얻음
printf("%d\n", size); // 13
fclose(fp);
return 0;
}
feof 함수는 현재 파일 포인터가 파일의 끝인지 검사합니다(stdio.h 헤더 파일에 선언되어 있습니다).
- feof(파일포인터);
- int feof(FILE *_Stream);
- 파일의 끝이면 1, 끝이 아니면 0을 반환
728x90