본문 바로가기

Programming/VC++

[C] 고수준 파일 입출력 함수 정리

출처 블로그 > Programming Tipping since Mar 2005
원본 http://blog.naver.com/cache798/120011094015

고수준 파일 입출력 함수 정리


1) 파일(스트림)열기 : fopen

FILE *fopen(const char *filename, const char *mode);

ex) FILE *fp;

fp=fopen("file1.c","r");


2) 파일 닫기: fcolse

int fclose(FILE *fp);

ex) fclose(fp);


3) 파일에서 문자 읽기: fgetc

int fgetc(FILE *fp);

ex) int ch;

ch=fgetc(fp);


4) 파일에 문자 출력: fputc

int fputc(int c, FILE *fp);

ex) int ch;

fputc(ch,fp);


5) 파일에서 문자열 읽기: fgets

파일에 문자열 출력: fputs

char *fgets(char *string, int n, FILE *fp);

int fputs(const char *string,FILE *fp);

ex) char buffer[512];

fp=fopen("file1.data","r");

while(fgets(buffer,512,fp))

fputs(buf,fp2);


6) 파일의 이진 자료 입출력 : fread, fwrite

int fread(char *buffer, int num_bytes, int count, FILE *fp);

int fwrite(char *buffer, int num_bytes, int count, FILE *fp);

ex) char buffer[512];

fp=fopen("file1.data","r");

fp2=fopen("file1.bak","w");

while( fread(buffer,100,1,fp) != 0 )

fwrite(buffer,100,1,fp2);

fclose(fp);

fclose(fp2);


7) 파일의 임의 접근 : fseek

int fseek(FILE *fp, long int offset, int ptrname);

ptrname: 이동위치

SEEK_SET(0) : 파일의 처음

SEEK_CUR(1) : 현재 위치

SEEK_END(2) : 파일의 끝

ex) fseek(fp,234L,0); /* 파일의 처음에서부터 234번째 이동한 위치로 파일

포인터 이동 */


8) 파일의 현재 위치 알려주는 : ftell

long ftell(FILE *fp);

ex) printf("%ld ",ftell(fp));


9) 파일 포인터 재설정 :rewind

void rewind(FILE *fp);


10) 파일의 상태 파악: feof, ferror

int feof(FILE *fp);

int ferror(FILE *fp);


11) 출력 버퍼를 파일에 기록 : fflush

int fflush(FILE *fp);

fp 가 출력 파일이라면 자료를 강제로 파일 fp에 기록한다.

fp가 입력 파일이라면 버퍼의 자료를 소거(clear)한다.

'Programming > VC++' 카테고리의 다른 글

[C] C언어 강좌  (0) 2007.08.01
[C] 소켓 기본 함수  (0) 2007.08.01
[C] 시스템 호출 함수 정리  (0) 2007.08.01
[C] strncpy()  (0) 2007.08.01
[C] trim()  (0) 2007.08.01