1장. fopen(3)
파일로 부터 스트림을 생성한다.
1.1. 사용법
#include <stdio.h> |
1.2. 설명
1.3. 반환값
fopen 은 종종 open(2) 함수와 비교되어서 설명된다. byte 단위로 열린파일을 다루는 open 과는 달리 fopen 는 stream 단위로 열린파일의 데이타를 다룬다. 즉 fopen 은 자체적으로 버퍼를 관리함으로써, 함수 사용자가 저수준에서 다루어야할 많은 것들을 대신 해결해 줌으로 좀더 쉽게 사용할수 있다.
path 에 지정된 파일을 mode 에 주어진 모드로 연다.
이 함수는 fputs(3), fgets(3), ungetc(3), getc(3) 등과 같이 쓰이며 표준 I/O(입출력) 함수라고 부른다.
다음과 같은 mode 를 path 에 대해서 지정해줄수 있다.
- r
파일을 읽기 전용으로 연다. stream 포인터의 위치는 파일의 시작위치를 가리킨다.
- r+
파일을 읽기/쓰기로 연다. stream 포인터의 위치는 파일의 시작위치를 가리킨다.
- w
쓰기전용의 파일을 열기 위해서 사용된다. 열린 파일크기는 0 이되며, stream 포인터의 위치는 파일의 시작위치를 가리킨다.
- w+
파일을 읽기/쓰기로 연다. 파일이 이미 존재한다면, 파일의 크기는 0이 된다. stream 포인터의 위치는 파일의 시작위치를 가리킨다.
- a
쓰기위해서 파일을 연다. 파일이 존재하지 않는다면 새로 생성한다. stream 포인터의 위치는 파일의 시작위치를 가리킨다.
- a+
파일을 읽기/쓰기로 연다. 파일이 존재하지 않는다면 새로생성한다. stream 포인터의 위치는 파일을 끝을 가리킨다.
fdopen(3)함수는 파일지정자 fildes로 부터 스트림을 얻어온다. mode는 fopen에 사용하는 것들을 그대로 사용할 수 있다. 그렇지만 파일지정자의 mode와 조화를 이룰 수 있어야 한다.
freopen(3)함수는 stream를 path파일과 연결 한다. 이때 최초의 stream은 닫히게 된다. mode는 fopen에서 사용하는 것과 동일하다. 이함수는 stderr, stdin, stdout 등을 파일과 연결시키고자 할때 주로 사용한다.
1.5. 예제
#include <stdio.h> |
1.6. 참고문헌