C언어 FILE 관련 함수 (1) - 파일 열고 닫기

1 minute read

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