C 라이브러리 함수(Library Function)는 여러 내장 함수들을 한곳에 모아 공통된 장소, 즉 '라이브러리(library)'에 배치해 둔 함수들을 의미합니다.
라이브러리의 각 함수는 특정 작업을 수행하도록 설계되어 있으며, 개발자는 이러한 라이브러리 함수를 활용해 미리 정의된 결과를 손쉽게 얻을 수 있습니다.
모든 C 표준 라이브러리 함수는 다양한 헤더 파일(header file)에 선언되어 있으며, 이 함수들은 컴파일러가 설계되는 시점에 함께 만들어집니다.
C 프로그램에서는 #include<filename.h> 구문을 사용해 헤더 파일을 포함시킵니다. 프로그램이 컴파일되고 실행될 때 관련 헤더 파일이 C 프로그램에 함께 포함됩니다.
주요 헤더 파일과 기능
대표적인 헤더 파일과 각각의 역할은 다음과 같습니다.
stdio.h − 표준 입출력(Standard Input/Output) 헤더 파일로, 입력·출력 관련 함수들이 선언되어 있습니다.
conio.h − 콘솔(Console) 입력/출력 관련 함수를 담고 있는 헤더 파일입니다.
string.h − 문자열 처리와 관련된 모든 함수가 이 헤더 파일에 포함되어 있습니다.
stdlib.h − C 프로그램에서 자주 사용되는 범용 유틸리티 함수들이 들어 있습니다.
math.h − 수학 계산과 관련된 모든 함수가 이 헤더 파일에 정의되어 있습니다.
time.h − 시간 및 클록(clock) 관련 함수들이 포함되어 있습니다.
stdio.h의 주요 내장 함수
그렇다면 stdio.h 라이브러리에는 어떤 내장 함수들이 있는지 하나씩 살펴보겠습니다.
| 번호 | 함수 및 설명 |
|---|---|
| 1 | printf() char, int, float, 문자열 등 모든 형식의 값을 출력 화면에 출력하는 함수입니다. |
| 2 | scanf() 키보드로부터 데이터를 입력받아 읽어오는 함수입니다. |
| 3 | getc() 파일에서 문자를 읽어옵니다. |
| 4 | gets() 키보드로부터 한 줄(line)을 읽어옵니다. |
| 5 | getchar() 키보드에서 문자 하나를 읽어옵니다. |
| 6 | puts() 출력 화면에 한 줄을 출력합니다. |
| 7 | putchar() 화면에 문자 하나를 출력합니다. |
| 8 | fopen() 파일을 엽니다. 파일 처리 관련 함수들은 모두 stdio.h 헤더 파일에 정의되어 있습니다. |
| 9 | fclose() 열려 있는 파일을 닫습니다. |
| 10 | getw() 파일에서 정수(integer)를 읽어옵니다. |
| 11 | putw() 파일에 정수를 기록합니다. |
| 12 | fgetc() 파일에서 문자를 읽어옵니다. |
| 13 | putc() 파일에 문자를 기록합니다. |
| 14 | fputc() 파일에 문자를 기록합니다. |
| 15 | fgets() 파일에서 한 번에 한 줄씩 문자열을 읽어옵니다. |
| 16 | fputs() 파일에 문자열을 기록합니다. |
| 17 | feof() 파일의 끝(EOF) 여부를 확인합니다. |
| 18 | fgetchar() 키보드에서 문자를 읽어옵니다. |
| 19 | fgetc() 파일에서 문자를 읽어옵니다. |
| 20 | fprintf() 서식이 지정된(formatted) 데이터를 파일에 기록합니다. |
| 21 | fscanf() 파일에서 서식이 지정된 데이터를 읽어옵니다. |
| 22 | fputchar() 표준 출력 스트림(stdout)에 문자를 출력합니다. |
| 23 | fseek() 파일 포인터를 지정한 위치로 이동시킵니다. |
| 24 | SEEK_SET 파일 포인터를 파일의 시작 위치로 이동시킵니다. |
| 25 | SEEK_CUR 파일 포인터를 현재 지정된 위치로 이동시킵니다. |
| 26 | SEEK_END 파일 포인터를 파일의 끝으로 이동시킵니다. |
| 27 | ftell() 파일 포인터의 현재 위치를 반환합니다. |
| 28 | rewind() 파일 포인터를 파일의 처음으로 되돌립니다. |
| 29 | putc() 파일에 문자를 기록합니다. |
| 30 | sprintf() 서식이 지정된 출력 결과를 문자열에 저장합니다. |
| 31 | sscanf() 문자열에서 서식이 지정된 입력을 읽어옵니다. |
| 32 | remove() 파일을 삭제합니다. |
| 33 | flush() 파일 버퍼를 비워냅니다(flush). |