Language Study/C

[C/C++] 10 - 04 파일 입출력 기초

지미닝 2022. 12. 14. 03:52

Index

  1. C 언어의 두 가지 파일 유형
  2. Text File vs Binary File
  3. 파일 사용의 개골적 과정과 FILE 구조체

1. C언어의 두가지 파일 유형

Text Mode File vs. Binary Mode File

 

2. Text File vs Binary File

  • C 언어에서는 파일을 읽거나 쓰기 위해 Open 할 때 대상 파일이 Text File 인지 Binary File 인지 구분하여야 한다.

Text File

  • 사람들이 읽을 수 있는 문자로 모든 정보를 표현하고 저장하는 파일
  • 서로 다른 값을 구분하는 구분자가 필요하다
  • 표준 입출력에 문자열을 출력하는 puts(),  printf() 등의 함수,입력하는 gets(), scanf()등의 함수에 대응하는 fputs(), fprintf(), fgets(), fscanf() 등의 함수가 입출력에 쓰인다

Binary File

  • 모든 데이터를 해당 자료형에 따른 메모리 표현 형태 그대로 연속하여 저장
  • Binary File에는 값만 저장되며 원래 자료형이 무엇인지는 저장되지 않음
  • BinaryFile을 읽고 해석하기 위해서는 원래 자료형이 무엇인지 해석하는 과정이 필수적임
  • Binary File입출력에는 fwrite(), fread() 등 문자열 입출력에 쓰이는 함수와 다른함수가 쓰인다

3. 파일 사용의 개골적 과정과 FILE 구조체

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

  • filename: Open할 파일에 대한 경로명을 담고 있는 문자열
  • mode: 파일을 어떤 모드로 Open 할 것인지를 나타내는 문자열
  • fopen()이 정상적으로 동작하면 해당 파일의 관리를 위한 FILE 구조체에 대한 유효한(Null 이 아닌)포인터가 return되며 이 값은 이후의 File I/O 함수에서 필수적으로 필요하다