참고한 것들
TL;DR
Header 정보
#include <unistd.h>
lseek
는 file 의 커서를 움직이고 현재 커서 위치를 반환하는 함수이다.
off_t current_offset = lseek(fd, offset, whence);
- 일단 사용법은
- 저
whence
로 기준점은 설정한다. 여기에는 세 옵션이 있다: SEEK_SET
: 파일의 시작점을 기준으로offset
만큼 뒤에 커서를 둔다.SEEK_CUR
: 현재 커서 위치를 기준으로offset
만큼 뒤에 커서를 둔다.SEEK_END
: 파일의 끝을 기준으로offset
만큼 뒤에 커서를 둔다.
- 저
File Size 구하기
- 이 함수는 커서를 옮기는 용도 외에 파일 사이즈를 알아내는 용도로도 많이 사용된다.
- 아래처럼 하면 된다.
size_t file_size = lseek(fd, 0, SEEK_END);
- 즉,
SEEK_END
로 파일 맨 끝을 기준으로 해서offset
을 0으로 주면 return 값인 현재 위치가 곧 파일 사이즈가 되는 것.