C언어 FILE 관련 함수 (1) - 파일 열고 닫기
C언어 FILE 관련 함수 (1) - fopen, fclose, freopen
포함 라이브러리 : stdio.h
(C++ Only : cstdio
)
fopen
구조
FILE* fopen(const char* filename, const char* mode);
매개변수
filename
: 열 파일의 이름 (경로)mode
: 파일 접근 모드
모드 | 간단설명 | 상세설명 |
---|---|---|
r |
read |
파일을 읽기 위해 파일을 열음. (파일이 존재해야함) |
w |
write |
파일에 작성을 위해 빈 파일을 만듦. 파일이 존재하는 경우, 내용을 삭제함. |
a |
append |
write 와 비슷하나, 원래 존재하는 내용의 뒤에 작성. 파일이 존재하지 않는 경우 새로 만듬 |
+ |
update |
파일의 업데이트를 위해 작성하는 모드. input/output 가능 |
b |
binary |
모드 뒤에 추가로 작성하는 모드. binary 형식으로 여는 경우 사용 |
t |
text |
모드 뒤에 추가로 작성하는 모드. text 형식으로 여는 경우 사용 |
x |
exist |
모드 w 뒤에 추가로 작성하는 모드. 파일이 존재하는 경우 에러를 반환 |
반환 값
파일이 정상적으로 열린 경우, 파일 포인터를 반환함.
정상적으로 열리지 않은 경우, null 포인터 반환.
fclose
구조
int fclose(FILE* stream);
매개변수
stream
: 닫을 파일 포인터
반환 값
정상적으로 종료된 경우 0을 반환. 아닌 경우, EOF 반환
작성 예시
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen ("myfile.txt","wt");
fprintf (pFile, "fclose example");
fclose (pFile);
return 0;
}
freopen
구조
FILE* freopen(const char* filename, const char* mode, FILE* stream);
매개변수
filename
: fopen과 동일mode
: fopen과 동일stream
: 다시 열 파일 포인터
반환 값
정상적으로 다시 open한 경우, 해당 파일 포인터 반환.
그렇지 않은 경우 null 포인터 반환.
예시
#include <stdio.h>
int main ()
{
freopen ("myfile.txt","w",stdout);
fclose (stdout);
return 0;
}
Comments