글
라벨이 파일 크기 구하기인 게시물 표시
[C&C++] fseek , ftell, lseek ,사용 정리
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
매번 찾아보는 게 귀찮아서 정리. 함수 int fseek(FILE * stream, long offset, int whence) 헤더 stdio.h 인자 정보 FILE *stream (파일 포인터) long offset (이동할 크기) int whence (어디서 부터 이동할지의 위치) whence의 경우, 정의된 값 혹은 상수값 사용 가능 SEEK_SET = 파일 시작 부 SEEK_CUR = 현재 파일 포인터 위치 SEEK_END = 파일 끝 반환 값 0(성공) or -1(실패) 함수 long ftell(FILE * fp) 헤더 stdio.h 인자 정보 FILE *fp (파일 포인터) 반환 값 현재 파일포인터의 위치(성공) , -1(에러) fseek + ftell을 사용하면 파일 사이즈를 구할 수 있다. fseek(fp, 0, SEEK_END); int file_size = ftell(fp); fseek(fp, 0, SEEK_SET); /* do File Work */ 함수 off_t lseek(int file_des, off_t offset, int whence) (Linux 기반) 헤더 unistd.h 인자 정보 int file_des (파일 디스크립터) off_t offset (이동할 크기) int whence (어디서 부터 이동할지의 위치) 반환 값 현재 파일포인터의 위치(성공) , -1(에러) fseek와 차이점은 FILE 포인터를 쓰냐 디스크립터를 쓰냐의 차이. 파일 Size를 구할 때, int file_size = lseek (fd , 0 , SEEK_END); /* do File Work */ 로 사용 [출처] http://forum.falinux.com/zbxe/index.php?do...