stdio, stdio.h   Standard I/O Library   표준 입출력 라이브러리

(2026-07-08)

C 파일 처리 함수


1. C 표준 입출력과 스트림

  ㅇ 표준 입출력 라이브러리 (stdio, Standard I/O Library)
     - C 언어에서, 스트림(Stream)을 통해, 입력과 출력을 처리하는 인터페이스를 제공하는, 표준 라이브러리

     - 입출력 스트림 구분
        . 표준 입출력  :  stdin, stdout, stderr
        . 파일 입출력  :  파일 스트림

     - 주요 처리 기능  :  문자, 문자열, 형식화된 자료 및 파일 등의 입출력 지원
        . 주로, 다루기 쉽지 않은 저 수준(커널 수준)의 스트림을 쉽게 사용할 수 있게 함
        . 특히, 바이트 단위, 고정 길이 바이트, 문자 단위, 줄 단위, 포멧 맞춤, 입출력 등 

     - 라이브러리 헤더 파일명 : stdio.h

  ㅇ 例)
     - 문자 단위
        . 문자 단위의 입출력 함수 : getchar(), putchar()
        . 문자열 출력 함수 : puts()

     - 포멧 맞춤
        . 포멧 맞춤 입출력 함수 : printf(), scanf() 등

     - 파일 입출력
        . 파일 열기/닫기 함수 : fopen(), fclose()
        . 파일 읽기 함수 : fgetc(), fgets(), fread() 등
        . 파일 쓰기 함수 : fputc(), fputs(), fwrite() 등


2. C 파일 입출력 (File I/O) 처리 방식은?

  ㅇ 파일 입출력시, 파일을 스트림으로 연결한 후, 이를통해 데이터를 읽거나 씀        
    - 이때, 자동으로 스트림이 생성 않고, 먼저 스트림을 생성시켜야 함

     - 例) fopen() 호출시,                      ☞ 스트림, 파일 포인터 참조
        . 파일과 연결된 스트림이 생성되고, 그 스트림을 가리키는 FILE * 포인터를 반환
           .. 파일 → fopen() → 스트림 생성 → FILE *로 스트림 참조 → 입출력

  ㅇ 파일 입출력의 기본 처리 순서
     - 파일 포인터 선언 → 파일 열기 → 읽기/쓰기 → 파일 닫기

  ㅇ 한편, 파일 접근 방식의 구분
     - 순차 접근 (Sequential Access)
     - 직접 접근 (Direct Access)


3. C 파일 입출력 처리 함수의 종류  :  (stdio.h)

  ㅇ 파일 열기,닫기 : fopen(), fclose()

  ㅇ 파일 읽기,쓰기 
     - 파일로부터 한 문자 씩 읽기 : getc(), fgetc()
     - 파일에 한 문자 씩 쓰기 : putc(), fputc()
     - 파일로부터 문자열 읽기 : fgets()
     - 파일에 문자열 쓰기 : fputs()
     - 파일로부터 정해진 형식에 따라 읽기 : fscanf(fp)
     - 파일에 정해진 형식에 따라 쓰기 : fprintf()
     - 파일로부터 정해진 크기의 자료를 정해진 개수 만큼 읽기 : fread()
     - 파일에 정해진 크기의 자료를 정해진 개수 만큼 쓰기 : fwrite()

  ㅇ 파일 위치 제어
     - 파일에서 입출력 위치를 이동 : fseek()
     - 파일의 시작부터 fp 위치까지의 거리 : ftell(fp)
     - 파일의 끝 여부를 판별 : feof()

  ㅇ 파일 에러
     - 파일의 입출력시 에러 발생 유무 조사 : ferror()

  ㅇ 기타
     - exit(), rewind(), ftell(), fflush(), fgetpos(), fsetpos(), ungetc(), setvbuf() 등

▷ C 함수
1. C 함수   2. C 함수 종류   3. C 문자열 함수   4. C 동적 메모리 관리 함수   5. C 파일 처리 함수   6. C 파일 포인터  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]