-
C/C++ ftell(3), ftello(3)C,C++ & Linux 2020. 5. 22. 11:29728x90
함수 기능
현재 파일 오프셋의 위치를 알려주는 함수입니다.
ftello() 함수는 리턴 값이 off_t 로 long 보다 큰 타입입니다. long 타입으로 오프셋을 표현 할 수 없는 매우 큰 파일에 대해 사용합니다.
함수 원형
#include <stdio.h> long ftell(FILE *fp); off_t ftello(FILE *fp);
매개변수
fp
대상 파일 포인터
반환값
성공 시 현재 파일 오프셋을 리턴
에러 시 -1L 을 리턴
예제
#include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char *argv[]) { char *fname = "ssu_test.txt"; FILE *fp; long fsize; fp = fopen(fname, "r"); // 파일 맨 끝 지점을 기준으로 0만큼 이동했으니 // 현재 파일 오프셋의 위치는 파일의 맨 끝 if (fseek(fp, 0, SEEK_END)) { fprintf(stderr, "fseek error\n"); exit(1); } // 파일 맨 끝의 위치( 파일 오프셋 )은 파일 크기와 같음 if ((fsize = ftell(fp)) < 0) { fprintf(stderr, "ftell error\n"); exit(1); } printf("%s 의 파일 크기는 %ld 입니다.\n", fname, fsize); exit(0); }
결과
리눅스시스템프로그래밍 저자 : 홍지만
https://book.naver.com/bookdb/book_detail.nhn?bid=14623672
책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)'C,C++ & Linux' 카테고리의 다른 글
C/C++ fgetpos(3), fsetpos(3) (0) 2020.05.22 C/C++ rewind(3) (0) 2020.05.22 C/C++ fseek(3), fseeko(3) (0) 2020.05.22 C/C++ fread(3) fwrite(3) (1) 2020.05.22 C/C++ puts(3), fputs(3) (0) 2020.05.22