컴퓨터 공부/Advanced UNIX System Programming

[4월 29일 2교시] 라이브러리 파일 관련 함수 2

려리군 2009. 4. 29. 10:56

freopen

#include<stdio.h>

FILE *freopen(const char *pathname, const char *type, FILE *fp);

기능 : fp가 가리키는 스트림(주로 stdin, stdout, stderr)으로 파일을 개방.

리턴 : 성공시 FILE포인터, 실패시 NULL

(printf를 파일 스트림과 연결하여 txt파일에 출력가능하게 할 수 있다.)


fdopen

#include<stdio.h>

FILE *fdopen(int filedes, const char *type);

기능 : file descriptor -> FILE 포인터. fopen 사용불가 파일에 대해 사용.


fclose

#include<stdio.h>

int fclose(FILE *fp);

기능 : 출력버퍼에 모든 자료는 파일에 저장. 입력 버퍼는 모두 flush되고 버퍼를 해제.

리턴 : 성공시 0, 실패시 EOF(-1)


문자 단위 입력

#include<stdio.h>

int getc(FILE *fp);      // macro로 구현.

int fgetc(FILE *fp);     // 함수로 구현.

int getchar(void);      // getc(stdin);과 같음.

기능 : 지정된 파일에서 한 문자를 읽어 오는 함수.

리턴 : 성공시 읽은 문자, 실패 또는 파일의 끝일시 EOF

※ 리턴이 unsigned char가 아니고 int인 이유? EOF를 판단하기 위해서.


#include<stdio.h>

int ungetc(int c, FILE *fp);

기능 : 하나의 문자를 읽은 후, 원래의 상태로 복원하기 위해 사용. (파싱에 사용.)

리턴 : 성공시 c, 실패시 EOF


문자 단위 출력

#include<stdio.h>

int putc(int c, FILe *fp);      // macro로 구현.

int fputc(int c, FILe *fp);    // 함수로 구현. 

int putchar(int c);             // putc(c,stdout);과 같음.

기능 : 지정된 파일에서 한 문자를 쓰는 함수.

리턴 : 성공시 c, 실패시 EOF