C 언어 - 파일다루기 1 (파일의 이해)

컴퓨터/C

728x90
반응형

파일(File)이란 무엇인가? 

컴퓨터에서 파일의 개념은 컴퓨터를 사용한 사람들이라면 뭐 두가 알고 있을 것입니다. 이 파일은 컴퓨터의 저장장치에 어떠한 데이터를 담고 있는 녀석을 파일이라고 합니다.

본문에서는 파일에 대해 알아보고 이해하여 C언어로 만든 프로그램에서 파일을 쓰고 읽기 전 사전 준비를 해보도록 하겠습니다.

 

파일의 종류

컴퓨터는 파일을 크게 두 가지의 종류로 나누어서 구분합니다.

 

  • 바이너리 파일(Binary File)
    • 0과 1로 이루어진 2진 데이터 파일입니다. 즉 기계어로 데이터의 저장과 처리의 목적으로 주로 사용합니다.
  • 텍스트 파일(Text File)
    • 어떠한 특정 포맷으로 인코딩된 문자열 형태의 파일입니다. 문서 같은 형태의 파일들이 대표적인 예입니다.

 

파일의 입력과 출력 스트림 

파일또한 C언어로 만든 프로그램의 외부 즉, 별도의 장치의 영역입니다. 그래서 프로그래머가 만든 프로그램에서 파일을 사용하기 위해서는 이 입력과 출력 스트림 즉, 통로를 만들어주어야만 파일을 읽고 쓸 수 있게 됩니다.

C언어에서는 파일에 관한 입력 / 출력 스트림을 함수 형태로 기본적으로 제공해 주고 있습니다.  프로그래머는 이 함수의 호출로 입력 또는 출력 스트림을 생성하고 종료할 수 있어야 됩니다.

 

정리하자면 아래와 같습니다.

  • 파일을 읽고 쓰기 위한 스트림이 필요하다.
    • 이 스트림을 함수의 형태로 구현하여 스트림을 생성하여 사용한다.
      • 스트림 생성을 할때 스트림의 상세한 정보를 입력해야 된다.
  • 파일을 소스코드상에서 컨트롤한다.
  • 파일에 대한 스트림의 사용이 끝난다면 스트림의 종결을 소스코드에 알려야 한다.

 

파일 구조체 

C언어에서는 파일을 제어하기 위한 자료형이 존재합니다. 이것이 바로 파일 구조체입니다.

파일 구조체는 FILE이라는 이름으로 사용할 수 있으며, <stdio.h>를 이용해 사용할 수 있습니다. 

C언어 소스코드에서 파일을 제어하려면 파일 구조체의 자료형으로 된 포인터 변수를 선언한 뒤 그 파일 구조체 자료형의 포인터에 파일 스트림을 생성하는 것입니다.

#include<stdio.h>

int main()
{
	FILE* file; // 파일 구조체를 이용하여 스트림을 생성할 포인터 변수의 선언
	return 0;
}

 

fopen() 함수 - 스트림의 생성

이제 파일 구조체를 이용해서 스트림을 만들 준비를 했다면 fopen() 함수를 이용하여 파일과 연결하는 통로를 만들어 주어야 합니다.

fopen함수에 필요한 인자들을 넣어 스트림을 생성해 주는 것입니다. 

fclose() 함수 - 스트림의 소멸

프로그래머가 외부 파일의 사용을 다 완료했다면, 스트림을 소멸시켜주어야 안전합니다. 이 스트림을 소멸하기 위해 사용하는 함수가 fclose() 함수입니다.

 

본문을 마치며

본문에서는 C언어에서 파일을 제어하기 위해 사전 준비를 했습니다. 파일의 개념과 종류 그리고 C언어 프로그램에서 파일의 스트림의 생성과 소멸의 과정을 간단하게 알아보았습니다. 이 개념을 이해하고 파일을 제어하면 좀 더 쉽게 사용할 수 있을 것입니다.

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :