고수준 파일 입출력 함수 정리
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 |