본문 바로가기

C,C++

fseek과 ftell로 파일의 크기 알아보기

fseek 함수는 파일 커서의 위치를 원하는 곳으로 이동시켜주는 함수이다.


fseek(FILE* stream, long offset, int origin); // 성공 시에 0 반환, 0이 아닌 수는 오류


1번째 인자는 파일포인터를 넣어주고, 2번째 인자에는 origin으로부터 몇 떨어진 곳을 가리킬 건지 양수 및 음수를 기입하고


마지막 3번째 인자에는 3가지 SEEK_SET, SEEK_CUR, SEEK_END 중 하나를 넣어주면 된다.


SEEK_SET : 파일의 처음


SEEK_CUR : 현재 위치


SEEK_END : 파일의 끝


fseek(FILE* stream, 0, SEEK_END); 를 해주게 되면 파일의 커서는 파일의 끝(EOF)을 가리키게 된다.


여기에 파일 커서의 위치를 가져오는 ftell(FILE* stream)을 이용하면, 파일 커서가 파일의 끝을 가리키고 있으므로 총 파일의 크기를 알 수 있다.


FILE* pFile;


fopen_s(&pFile, "abc.txt", "rt");


fseek(pFile, 0, SEEK_END);

ftell(pFile);

'C,C++' 카테고리의 다른 글

visual studio 2017 SFML 적용하기  (0) 2019.01.15
C++ :: 콘솔 글자 및 배경색 변경하기  (0) 2019.01.07
C++ lower_bound, upper_bound  (0) 2018.12.26
콜라한캔 :: 16진수 문자열로 변환  (0) 2018.12.23
void 포인터  (0) 2018.12.12