C언어/C언어 예제

[C언어 소스] fgetpos 함수 사용 예제

언제나휴일 2016. 5. 4. 00:13
반응형

[C언어 소스] fgetpos 함수 사용 예제


//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


언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형