반응형
SMALL

학습목표 

1. 파일 입출력 개념을 이해할 수 있다.

2. 파일을 만들고 읽고 추가할 수 있다.

3. 순차 파일을 만들고 읽을 수 있다.

4. 랜덤 파일을 만들고 읽을 수 있다.

 

주용용어

파일 입출력, 랜덤파일, 순차파일, 파일포인터, 스트림, stream, 텍스트파일, 이진파일

 

8.1 파일 입출력의 개념

> 파일 입,출력 이란?

 - 보조기억장치의 파일을 이용한 자료의 입,출력

    -> 파일처리 함수를 이용

 

> 파일처리함수  

- 보조기억장치(디스크)에 들어있는 정보들의 모임을 파일이라고 하고, 이러한 파일을 제어하는 함수

 

> 파일

 - 보조기억장치에 저장된 데이터들의 모임

 - 일련의 바이트(byte)들로 구성

 - C 프로그램은 운영체제를 통해서 파일을 읽거나 쓰게 된다.

 

> 파일의 구분

- 텍스트 파일(text file)

  * 화명에 출력되는 문자들로 구성된 파일

- 2진 파일 (binary file)

  * 텍스트 파일을 포함한 모든 종류의 자료를 다루는 파일

  * 컴파일 되어 있어 기계어에 가까우므로 내용을 이해하거나 인쇄가 불가능

 

> 파일에 대한 자료의 입력과 출력

 - 파일 입력

  * 디스크 상의 특정 위치(파일)에 수록되어 있는 자료를 읽어 들여 기억공간에 수록하는 절차

 - 파일 출력

  * 기억공간에 있는 자료를 디스크 상의 특정 위치(파일)에 수록하는 절차

 

> 파일처리를 위해서는 파일포인터를 사용

 - 파일포인터

   * 파일이 어디에 있는지를 가리키는 포인터

   * 모든 파일 입출력 함수는 파일 포인터를 사용

 

> 파일을 입출력 할 때 버퍼(buffer) 사용

  -  버퍼

    * 기억 공간과 디스크 사이에 존재하는 임시 기억 공간

    * 파일 입출력 시 디스크에 자료를 기억 공간으로 읽어 들이거나,

     기억 공간에서 처리된 자료를 디스크에 저장할 때 사용

 

 

 

8.2 파일 포인터를 이용한 파일 입출력

> 자료의 입, 출력 개념

 

- 프로그램과 입,출력 장치(콘솔, 파일, 소켓 등)와의

   사이에 이루어지는 자료의 입력과 출력

 

- 자료의 입,출력을 위한 논리적인 통로가 필요 : 스트림

 

 

> 자료의 입, 출력을 위해서는 스트림이 필요

 - 표준 입출력장치를 이용한 자료 입출력

   : 표준 입출력장치와의 스트림은 프로그램 실행 시 자동으로 생성되고, 프로그램 종료 시 자동으로 소멸

- 파일을 이용한 자료 입출력

   : 파일 입출력을 위한 스트림은 프로그램을 통해 생성과 소멸을 시켜주어야 한다.

 

 

8.2.1 파일 입출력의 수행 과정

 

1) 파일은 연다.          --------- > 파일과 자료를 주고 받을 수 있는 스트림을 생성 (fopen()함수 사용 )

2) 입출력을 수행한다.  

3) 파일을 닫는다.        --------- > 생성된 스트림을 소멸시키기 위한 과정 (fclose() 함수 사용)

> 스트림 (stream) 의 생성

 - 파일과 프로그램과의 통로(논리적인 접속)를 구성

 - 통로 역할을 파일 포인터가 수행 

 

> 파일 입,출력 프로그램 구조

// 파일 입출력 프로그램의 구조 예

#include <stdio.h> 
void main(){ 
     char ch; 
     FILE *fp;                             --- 파일포인터 선언
     fp = fopen("8-1.txt","w");        ---  파일 open

     for(ch = 'A'; ch <='Z'; ch++) 
          fputc(ch, fp); 
     fclose(fp);  }                        --- 파일 close

 

// 파일 처리 함수와 기능

함수 기능
fopen("파일명","모드")  파일을 지정된 모드로 열기
fclose()  파일을 닫기
fgetc(), getc()  파일로부터 한 문자 읽기
fputc(), putc()    파일에 한 문자 쓰기
fgets()  파일로부터 문자열 읽기
fputs()  파일에 문자열 쓰기
fscanf()  파일로부터 정해진 형식에 따라 읽기
fprintf()  파일에 정해진 형식에 따라 쓰기
fread()  파일로부터 정해진 크기의 자료를 정해진 개수만큼 읽기
fwrite()  파일에 정해진 크기의 자료를 정해진 개수만큼 쓰기
fseek()  파일에서 입출력 위치를 이동
feof()  파일의 끝인가를 판별
ferror()  파일의 입출력 시 에러 발생 유무 조사

 

반응형
LIST

'방송통신대학 > C 프로그래밍' 카테고리의 다른 글

파일처리함수 (fclose, 파일 닫기)  (0) 2020.06.18
파일처리함수  (1) 2020.06.17
공용체 union  (0) 2020.06.15
구조체struct 의 비트필드 bit field  (0) 2020.06.14
함수function와 구조체struct  (2) 2020.06.13

+ Recent posts