학습내용

  • 파일 입출력 기초
  • 파일 입출력 함수

학습목표

  • 스트림의 기본 개념에 대해 설명할 수 있다.
  • 파일 입출력을 위한 함수의 기본 문법을 알고 구현할 수 있다.

 

파일 입출력 기초

1. 기초

 1) 파일 입출력 : 입력과 출력의 대상이 파일인 경우

 2) 입출력 대상 : 텍스트 파일, 이진 파일

구분 텍스트 파일 이진 파일
입력 fgetc, fgets, fscanf fread
출력 fputc, fputs, fprintf fwrite
단기 fclose  

2. 입출력 과정

3. 스트림

 

 - 운영체제에 의해 프로그램 실행시 기본적으로 개방

스트림파일 용도 장치
stdin 표준 입력 스트림 키보드
stdout 표준 출력 스트림 모니터
stderr 표준 에러 스트림 모니터

 

 

파일 입출력 함수

1. 파일 열기

 1) 파일 입출력을 수행하려면 먼저 fopen함수를 이용하여 파일을 열어야 함

 2) fopen 함수의 원형

 3) 디폴트 모드는 텍스트 파일

2. 파일 닫기

 1) 파일 입출력을 수행하려면 먼저 fclose함수를 호출해서 반드시 파일을 닫아야 함

 2) fopen 함수의 원형

3. 파일 입출력

 1) fgetc, fputc

  (1) 파일로부터 문자 하나를 입력받거나 출력할 때 사용됨

int fgetc(FILE *stream);
int fputc(int c, FILE *fp);

 

 2) fgets, fputs

  (1) 파일로부터 한 줗의 문자열을 입력받거나 출력할 때 사용

char *fgets (char str , int n, FILE *stream);
int fputs (const char * str , FILE fp)

  (2) fgets

  (3) fputs

 

4. 기타함수

 1) ferror함수

   - 파일 입출력 시 발생하는 에러를 확인

int ferror(FILE *stream);
* 리턴값 : 
  - 스트림에 에러가 발생했으면 0이 아닌 값을 리턴
  - 에러가 발생하지 않았으면 0을 리턴

 2) feof함수

   - 파일의 끝인지를 검사

int feof(FILE *stream);
* 리턴값 : 
  - 읽는 위치가 파일의 끝이면 0이 아닌 값을 리턴
  - 읽는 위치가 파일의 끝이 아니면 0을 리턴

 

 

학습정리

 

1. 파일 입출력 기초

  • 파일 입출력 시 먼저 스트림을 생성해야 함
  • 파일스트림 생성 시 읽기, 쓰기, 추가 등의 모드를 지정
  • 파일을 열고 닫는 라이브러리 함수는 fopen, fclose임

 

2. 파일 입출력 함수

  • 파일로부터의 입력 함수로는 fgetc, fgets, fscanf, fread등이 있음
  • 파일에 출력하는 함수는 fputc, fputs, fprintf, fwrite등이 있음
  • 파일의 끝을 판단하는 함수는 feof가 있음