oldfd
: 복사할 파일 기술자파일 기술자의 복사는 입출력 방향 전환에 많이 사용된다.
oldfd
: 복사할 파일 기술자newfd
: 파일 기술자를 복사할 곳fd
: 파일 기술자
cmd
: 명령
arg
: cmd에 따라 필요시 지정하는 인자들
F_GETFL : 상태 플래그 정보를 읽어옴
F_SETFL : 상태 플래그 정보를 설정, 설정할 수 있는 것은 대부분 open() 함수에서 지정하는 플래그
pathname
: 파일의 경로mode
: 파일 열기 모드FILE *fp;
fp = fopen("test.txt", "r");
이 경우 text.txt 파일을 읽기 전용으로 열고 파일 포인터 주소를 포인터 변수인 fp에 저장
stream
: fopen() 에서 리턴한 파일 포인터 FILE *fp;
fp = fopen("test.txt", "r");
fclose(fp);
stream
: 파일 포인터
fgetc(), getc(), getchar(), getw() 함수의 특징
fgetc( ) 함수
: 파일 포인터가 가리키는 파일로부터 문자 한 개를 unsigned char 형태로 읽어옴
getc() 함수
: 매크로로 구현되어 있어 실행 속도는 약간 빠르지만 실행 코드가 확장되므로 메모리를 조금 더 차지
그 외에는 fgetc() 함수와 동일한 기능을 수행
getchar() 함수
: 표준 입력에서 문자 한 개를 읽어오는 매크로로, getc(stdin)과 같음
getw() 함수
는 파일에서 워드 단위로 읽음, 워드의 크기는 int형의 크기로 시스템에 따라 달라짐
c, w
: 출력할 문자stream
: 파일 포인터char *gets(const char *s);
char *fgets(char *s, int size, FILE *stream);
s
: 문자열을 저장한 버퍼의 시작 주소size
: 버퍼의 크기stream
: 파일 포인터puts() 함수의 특징
s가 가리키는 문자열을 표준 출력으로 출력, 이때 개행 문자를 추가해 출력
fputs() 함수의 특징
s가 가리키는 문자열을 파일 포인터가 가리키는 파일로 출력
출력할 때 개행 문자를 추가하지 않는다. 두 함수 모두 성공하면 음수가 아닌 수를 리턴하고, 파일의 끝이면 오류를 리턴
ptr
: 버퍼 주소size
: 버퍼 크기nmemb
: 읽어올 항목 수stream
: 파일 포인터항목의 크기가 size인 데이터를 nmemb 에서 지정한 개수만큼 읽어 ptr이 가리키는 버퍼에 저장.
성공적으로 수행하면 읽어온 항목 수를 리턴
읽을 항목이 없으면 0을 파일의 끝을 만나면 EOF를 리턴
ptr
: 버퍼 주소size
: 항목의 크기nmemb
: 항목 수stream
: 파일 포인터항목의 크기가 size인 데이터를 nmemb에서 지정한 개수만큼 ptr에서 읽어 stream 으로 지정한 파일에 출력
성공적으로 수행하면 출력한 항목의 수를, 오류가 발생 하면 EOF 를 리턴
int scanf(const char *format)
int fscanf(FILE stream, const char format, ...);
format
: 입력 형식(%d, %s 등)stream
: 파일 포인터int fseek(FILE *stream, long offset, int whence);
stream
: 파일 포인터offset
: 이동할 오프셋whence
: 오프셋의 기준 위치long ftell (FILE *stream)
stream
: 파일 포인터void rewind(FILE *stream)
오프셋 위치를 파일의 시작으로 즉시 이동
int fflush(FILE *stream)