반응형
fgetpos
헤더 파일
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H
int fgetpos ( FILE * fp, fpos_t * pos ); 파일 스트림의 파일 position을 구하는 함수입력 매개 변수 리스트
fp 파일 스트림
pos 파일 position을 읽어올 메모리 주소
반환 값
성공 시 0, 실패 시 0이 아닌 수
fpos_t 형식은 64비트 정수로 매우 큰 (2의 63승 -1 바이트) 파일에서의 파일 position을 확인할 수 있습니다.
다음의 사용 예는 4G파일을 만든 후에 파일 position을 확인하는 코드입니다. 테스트 후에 data.txt 파일을 지우세요.
사용 예
//C언어 표준 라이브러리 함수 사용법 가이드
//int fgetpos ( FILE * fp, fpos_t * pos ); 파일 스트림의 파일 position을 구하는 함수
//커다란 파일을 기록 한 후에 파일 스트림의 position을 확인
/***************************************************************************/
/* 주의: 이 프로그램을 실행하면 4G 파일이 만들어 집니다. */
/* 테스트 후에 반드시 제거하세요. */
/***************************************************************************/
#include <stdio.h>
//테스트를 위해 400kbytes 크기의 구조체 정의
typedef struct {
char buf[400000];
}BigData;
int main (void)
{
FILE * fp;
fpos_t offset;
int i;
BigData bigdata={'a'};
fopen_s (&fp,"data.txt","wb");//쓰기 모드로 파일 열기
if (fp==NULL)
{
perror ("error fopen");
return 0;
}
//출력 파일 스트림에 400kbytes 데이터를 10000번 출력
for(i=0;i<10000;i++)
{
fwrite(&bigdata,sizeof(BigData),1,fp);
}
fgetpos(fp,&offset);//파일 스트림의 파일 position 확인
printf("%lld\n",offset); //파일 positon 출력
fclose (fp);//출력 파일 스트림 닫기
return 0;
}
출력
4000000000
사용한 함수
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - fopen_s
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - fclose
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - perror
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - printf
반응형
'언어 자료구조 알고리즘 > C11 표준 라이브러리 함수' 카테고리의 다른 글
strcpy_s 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
---|---|
strcpy 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
strlen 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
string.h [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fsetpos [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
clearerr 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
perror 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
feof 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
ferro 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fseek 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |