I. 파일 개방 모드
파일 개방 모드 = 파일 접근 모드 + 데이터 입·출력 모드
1. 파일 접근 모드
모드 | 의미 |
r | 파일을 읽기 위해서 개방한다. 오로지 읽는 것만 가능하다. |
w | 데이터를 쓰기 위해 개방한다. 오로지 쓰는 것만 가능하다. 만약에 fopen 함수 호출 시 지정해 준 파일이 존재하지 않으면, 새로운 파일을 생성해서 데이터를 쓰게 된다. 지정해 준 파일이 존재하면, 그 파일의 데이터를 지워버리고 데이터를 쓰게 된다. |
a | w모드와 달리, 지정해 준 파일이 존재하면 데이터를 지우지 않고 파일의 끝에서부터 데이터를 추가한다. 나머지 특징은 w 모드와 같다. |
r+ | 파일을 읽고 쓰기 위해 개방한다. 파일이 존재하지 않는 경우, 새로운 파일을 생성한다. 파일이 존재하는 경우, 파일의 데이터를 지우지는 않지만 원래 존재하는 파일의 데이터를 덮어쓰게 된다. |
w+ | r+ 모드와 달리, 지정해 준 파일이 존재하면 모든 데이터를 지워버리고 데이터를 기록한다. 나머지 특징은 r+와 같다. |
a+ | r+ 모드와 달리, 지정해 준 파일이 존재하면 파일의 끝에서부터 데이터를 추가한다. (나머지 특징은 r+와 같다). |
2. 데이터 입·출력 모드
모드 | 의미 | 특징 |
t | 텍스트 모드(text mode) | \n 을 \r\n으로 자동 변환 |
b | 2진 모드(binary mode) | \n 을 변환하지 않음 |
\n: Line Feed. 다음 줄로 커서 이동
\r: Carriage Return. 줄의 맨 앞으로 커서 이동
II. 개방과 종료
#include <stdio.h>
int main() {
int state;
FILE* file = NULL;
file = fopen("./test.txt", "wt");
if(file==NULL) {
printf("file open error!\n");
return 1;
}
state=fclose(file);
if(state!=0) {
printf("file close error!\n");
return 1;
}
return 0;
}