▼ 표 8-4 fopen과 freopen의 모드와 수정자. 처음 세 항목은 모드 스트링이다. 옵션으로 이 세 가지 항목이 한 개 이상 더 나올 수 있다.
모드 |
메모 |
|
fopen 실행 후의 파일 상태 |
'a' |
추가(append) |
w |
기존 파일 내용은 그대로 있고, 파일 끝을 가리킨다. |
'w' |
쓰기(write) |
w |
기존 파일 내용이 (있다면) 지운다. |
'r' |
읽기(read) |
r |
기존 파일 내용은 그대로 있고, 파일 시작점을 가리킨다. |
'+' |
업데이트(update) |
rw |
읽기 및 쓰기 모드로 파일을 연다. |
'b' |
바이너리(binary) |
바이너리 모드로 파일을 연다. 이렇게 하지 않으면 텍스트 파일로 취급한다. |
|
'x' |
익스클루시브(exclusive) |
기존에 없던 파일이라면 쓰기 모드로 연다. |
▼ 표 8-5 fopen과 freopen에서 지정할 수 있는 모드 스트링: 표 8-4에 나온 항목에 대한 올바른 조합을 정리한 것이다.
"a" |
필요에 따라 빈 텍스트 파일을 만든다. 파일 끝에 쓸 수 있게 연다. |
"w" |
빈 텍스트 파일을 만들거나 기존 내용을 지운다. 쓰기 모드로 연다. |
"r" |
기존 텍스트 파일을 읽기 모드로 연다. |
"a+" |
필요에 따라 빈 텍스트 파일을 만든다. 파일 끝에 읽거나 쓸 수 있게 연다. |
"w+" |
빈 텍스트 파일을 만들거나 기존 내용을 지운다. 읽거나 쓸 수 있게 연다. |
"ab" "rb" "wb" "a+b" "ab+" "r+b" "rb+" "w+b" "wb+" |
텍스트 파일이 아닌 바이너리 파일이라는 점을 제외하면 위와 같다. |
"wx" "w+x" "wbx" "w+bx" "wb+x" |
호출 전에 이미 파일이 있으면 오류가 발생하는 점을 제외하면 위와 같다. |