목차
파일 열기 관련 예제 이전 포스팅
C언어에서 파일 크기를 구하려면 여러가지 방법이 있습니다. 하지만 오늘 예제에서는 fseek, ftell 두개의 함수로 크기를 구하는 방법에 대해 알아보도록 하겠습니다. 파일 크기를 구하기 위해서는 파일을 열고 닫는 방법에 대해 알아야합니다. 따라서 이전 포스팅에서 다뤘던 파일 다루기 예제를 학습해주세요.
아래는 C 언어에서 파일을 다루는 포스팅 링크입니다.
2021.12.01 - [C/stdio] - C 파일 생성 및 스트림 열기 예제(stdio/fopen)
fopen으로 크기를 확인할 파일 열기 예제
아래 예제는 fopen 함수를 이용하여 크기를 구할 파일을 열어줍니다.
#include <stdio.h>
int main() {
FILE *file;
const char *filename = "/tmp/test.txt";
// 파일 열기
file = fopen(filename, "rb");
if (file == NULL) {
printf("파일 열기 오류\n");
return 1;
} else {
printf("파일 열기 성공\n");
}
return 0;
}
fseek로 파일 끝까지 이동 예제
열린 파일 포인터를 fseek함수와 SEEK_END 플래그를 사용하여 파일의 끝으로 이동시킵니다.
#include <stdio.h>
int main() {
FILE *file;
const char *filename = "/tmp/test.txt";
// 파일 열기
file = fopen(filename, "rb");
if (file == NULL) {
printf("파일 열기 오류");
return 1;
}
// 파일 포인터를 파일 끝으로 이동
if (fseek(file, 0, SEEK_END) != 0) {
printf("파일 포인터 이동 오류");
fclose(file);
return 1;
}
return 0;
}
ftell로 파일 크기 구하기 예제
마지막 위치로 이동하였다면 ftell 함수를 호출하여 현재 위치 즉, 파일의 크기를 출력합니다.
#include <stdio.h>
int main() {
FILE *file;
const char *filename = "/tmp/test.txt";
// 파일 열기
file = fopen(filename, "rb");
if (file == NULL) {
printf("파일 열기 오류");
return 1;
}
// 파일 포인터를 파일 끝으로 이동
if (fseek(file, 0, SEEK_END) != 0) {
printf("파일 포인터 이동 오류");
fclose(file);
return 1;
}
// 파일의 현재 위치를 구해서 파일 크기를 얻기
long file_size = ftell(file);
if (file_size == -1) {
printf("파일 크기 구하기 오류");
fclose(file);
return 1;
}
printf("파일 크기: %ld 바이트\n", file_size);
// 파일 닫기
fclose(file);
return 0;
}
반응형