파일 입출력

1. 스트림(Stream)이란?

실행중인 프로그램과 외부 장치를 연결(interface)해 주는 논리적 연결

 

"파일 입/출력 함수를 이용하여 프로그램이 실행되는 경우, 변수나 배열의 내용을 하드디스크(파일)에 저장하고, 다음 실행 시 하드디스크로부터 데이터를 메모리에 불러들여 다시 사용할 수 있다."

 

  • 표준 입/ 출력 스트림
  • 표준입출력 장치를 위한 스트림으로, 운영체제에 의해 자동 생성 및 관리 된다.

- 표준 입력 스트림 : stdin

- 표준 출력 스트림 : stdout

- 표준 에러 스트림 : stderr

 

  • 파일 입/출력 : 디스크 장치가 대상이 되며, 표준 입출력 장치가 아니기 때문에 운영체제에 의해 관리되지 않는다

      >> 사용자가 직접 파일 연결 과정에 관여해야 한다.

 

2. 파일 입출력을 위한 스트림

 

  • 스트림 생성과 소멸 함수

 

(1) fopen() 함수 :파일을 열어 스트림과 연결시키기 위해 사용

 

FILE *fopen ( char *filename, char *mode );

 

▶ 파일 여는 작업 성공 시, 유효한 FILE Pointer 반환 / 실패 시, NULL Pointer 반환 

 

 

(2) FILE 구조체

<stdio.h>에 들어 있는 선언 중 하나로, 스트림에 접근하기 위한 자료 구조

fopen() 함수가 실행될 때 FILE에 연결할 장치에 대한 정보를 저장하게 되며 이 정보는 파일의 크기, 현재 위치, 파일의 접근방법 등 파일 접근 시 필요한 정보가 저장되는 구조체이다.

 

 

(3) freopen() 함수 : 주어진 파일에 특정 스트림을 다시 열기 위해 사용

FILE *freopen ( char const *filename, char const *mode, FILE *stream );

 

(4) fclose() 함수 : 파일에 대한 입/출력이 모두 수행되면 fclose()함수를 이용하여 파일을 close 해야 한다.

 

int fclose ( FILE *fp );

 

'Programming Language > C language' 카테고리의 다른 글

메모리 구조, 동적 메모리 할당  (0) 2019.07.10