본문 바로가기

app/C

C 헤더파일들 간단 정리!

문자나 문자열을 수치 값으로 변환시키거나 대문자를 소문자로 소문자를 대문자로 변환하는 함수다.

#include <stdlib.h>

atof
형식 : double atof(char *string)
설명 : 문자열을 부동소수점 값(double)으로 반환하는 함수 부동소수점으로 변환할 수 없는 문자열인 경우 0을 반환한다.
atoi
형식 : int atoi(char *string)
설명 : 문자열을 정수 값(int)으로 변환하는 함수, 변환할 수 없는 경우에는 0을 반환한다.
atol
형식 : int atol(char *string)
설명 : 문자열을 (long integer)값으로 변환하는 함수, 변환할 수 없는 경우에는 0을 반환한다.

abort : 프로세스 강제적 중단

abs : int형 데이터의 절대값

atexit : 프로그램 종료시점에서 함수 실행

bsearch : 바이너리 탐색

div : 나눗셈과 나머지 계산

exit : 처리종료

getenv : 환경 변수값 취득

labs : long형 데이터의 절대값

ldiv : long형 데이터의 나눗셈과 나머지를 계산

rand : 정수의 난수 발생(랜덤값 출력)

srand : 난수 발생의 계열을 변경함

qsort : 퀵 소트

system : OS 명령을 실행

 

calloc       -> 메모리 조작 함수
형식 : void *calloc(size_t num_elem, size_t elem_size)
설명 : 배열을 할당하고 모든 원소를 0으로 초기화하는 함수(배열을 위한 메모리 확보)
free          -> 메모리 조작 함수
형식 : void free(void *mem_address)
설명 : 할당된 메모리 블록을 되돌려 주는 함수(메모리 동적할당 해제)
malloc      -> 메모리 조작 함수
형식 : void *malloc(size_t num_bytes)
설명 : 메모리 블록을 할당하는 함수(메모리 동적할당선언)
realloc      -> 메모리 조작 함수
형식 : 메모리 블록을 재 할당하는 함수(메모리 블록 재확보)

itoa
형식 : char *itoa(int value, char *string, int radix)
설명 : 정수형 숫자를 문자열로 변환하는 함수
strtod
형식 : double strtod(char *string, char *endptr)
설명 : 문자열을 부동소수점 값(double)으로 변환하는 함수, 실패한 경우 0을 반환한다. 변환할 수 없는 문자를 만난 경우, 읽기를 중단한다.
strtol
형식 : long strtol(char *string, char *endptr, int radix)
설명 : 문자열을 (long integer)형 숫자로 변환하는 함수, 변환할 수 없는 문자열인 경우 0을 반환한다.
strtoul
형식 : unsigned long strtoul(char *string, char *endptr, int radix)
설명 : 문자열을 (unsigned long)형의 숫자로 변환하는 함수, 변환할 수 없는 문자열인 경우 0을 반환한다.


- 디렉토리 조작 함수
chdir
형식 : int chdir(char *path)
설명 : 현재 디렉토리를 주어진 경로로 바꾸는 함수
getcwd
형식 : char *getcwd(char *path, int numchars)
설명 : 현재의 작업 디렉토리의 이름을 반환하는 함수
mkdir
형식 : int mkdir(char *path)
설명 ; 주어진 경로를 사용하여 디렉토리를 만드는 함수
rmdir
형식 : int rmdir(char *path)
설명 : 주어진 경로의 디렉토리를 삭제하는 함수

- 파일 조작 함수

#include<stdio.h>

 

chmod
형식 : int chmod(char *path, int pmode)
설명 : 파일의 permission을 바꾸는 함수
fstat
형식 : int fstat(int handle, struct stat *buffer)
설명 : 파일의 상태 정보를 가져오는 함수
remove
형식 : int remove(char *path)
설명 : 파일을 삭제하는 함수
rename
형식 : int rename(char *oldname, char *newname)
설명 : 파일의 이름을 바꾸는 함수
stat
형식 : int stat(char *path, struct stat *buffer)
설명 : 파일의 상태 정보를 가져오는 함수
umask
형식 : unsigned umask(unsigned pmode)
설명 : 파일의ㅣ permission을 mask시키는 함수

- Stream 입출력 함수

#include <stdio.h>

clearerr
형식 : void clearerr(FILE *file_pointer)
설명 : stream의 에러 지시자를 지우는 함수(지정한 파일의 에러그룹과 EOF 그룹을 0으로 한다)
fclose
형식 : int fclose(FILE *file_pointer)
설명 : 파일을 닫는 함수, 정상적으로 수행되면 0을 에러가 발생되면 EOF을 반환한다.
feof
형식 : int feof(FILE *file_pointer)
설명 : 파일의 끝을 검사하는 함수, 지정된 파일이 EOF이면 0이외의 값을 반환한다.
ferror
형식 : int ferror(FILE *file_pointer)
설명 : 파일의 입출력 동안 에러가 발생되었는지를 검사하는 함수, 에러가 있으면 0이외의 값을 반환한다.
fflush
형식 : int fflush(FILE *file_pointer)
설명 : 버퍼의 내용을 파일에 쓰는 함수, 정상적으로 수행이 끝나면 0을 반환하고 그 이외에는 EOF를 반환한다.
fgetc
형식 : int fgetc(FILE *file_pointer)
설명 : stream으로부터 한 문자를 가져오는 함수, 에러 발생이나 파일의 끝인 경우에는 EOF를 반환한다.
fgetpos
형식 : int fgetpos(FILE *file_pointer, fpos_t current_pos)
설명 : stream에서 현재 위치를 가져오는 함수(파일 포인터의 위치정보를 가져옴)
fgets
형식 : char *fgets(char *string, int maxchar, FILE *file_pointer)
설명 : 파일에서 문자열을(입력) 읽는 함수, 읽어들이는 단위는 EOF나 \n을 만나거나 n-1개의 문자 길이 만큼이다.

         실패한 경우 NULL을 반환한다.
fopen
형식 : FILE *fopen(char *filename, char *access_mode)
설명 : 파일을 열기 위한 함수, 에러가 발생되면 NULL을 반환한다.
fprintf
형식 : int fprintf(FILE *file_pointer, char *format_string, args)
설명 : 파일에 주어진 형식으로 데이터를 쓰기 위한 함수, 정상적으로 수행이 되면 출력한 문자의 수를 반환한다.

          만약   에러가 발생되면 EOF를 반환한다.(파일에 서식을 사용하여 출력)
fputc
형식 : int fputc(int c, FILE *file_pointer)
설명 : 한문자를 stream에 쓰기 위한 함수, 정상적으로 수행이 되면 출력한 문자의 수를 반환한다.

         에러가 발생되면 EOF를 반환한다.
fputchar
형식 : int fputchar(int c)
설명 : 문자를 stdout에 쓰기 위한 함수
fputs
형식 : int fputs(char *string, FILE *file_pointer)
설명 : 파일에 문자열을 stream에 쓰기 위한 함수, 에러가 발생되면 EOF를 반환한다.
fread
형식 : size_t fread(char *buffer, size_t size, size_t count, FILE *file_pointer)
설명 : stream으로부터 unformatted data를 buffer에 쓰기 위한 함수, 파일에서 읽어들인 블록의 수를 반환한다.
freopen
형식 : FILE *freopen(char *filename, char *access mode, FILE *file_pointer)
설명 : 파일 포인터를 다른 파일에 재 할당하기 위한 함수( 파일 다시 열기)
fscanf
형식 : int fscaf(FILE *file_pointer, char *format string, args)
설명 : stream으로부터 formatted input을 읽기 위한 함수, stream파일에서 형식대로 읽혀진 데이터 수를 반환한다.

          format의 형식은 scanf()와 같다.(파일에서 서식을 사용하여 입력)
fseek
형식 : int fseek(FILE *file_pointer, long offset, int origin)
설명 : 파일의 현재 위치에서 새로운 위치로 변경하는 함수, 정상적으로 수행했을 경우 0을반환 (파일 포인터를 이동)
fsetpos
형식 : int fsetpos(FILE *file_pointer, fpos_t *current pos)
설명 : 파일의 현재 위치에서 새로운 위치로 변경하는 함수(fsetpos 불러들인 정보로 포인터를 설정)
ftell
형식 : long ftell(FILE *file_pointer)
설명 : 파일에서의 현재 위치를 가져오는 함수 에러가 발생되면 -1을 반환한다.(현제 파일 포인터의 위치를 되돌림)
fwrite
형식 : size_t fwrite(char *buffer, size_t size, size_t count, FILE *file_pointer)
설명 : 버퍼에 있는 unformatted data를 stream에 쓰기 위한 함수(파일에 블록 쓰기)
getc
형식 : int getc(FILE *file_pointer)
설명 : 문자를 stream으로부터 읽기 위한 함수(파일에 한문자 입력 매크로형식)
getchar
형식 : int getchar(void)
설명 : srdin으로부터 문자를 읽기 위한 함수(한 문자 입력)
gets
형식 : char *gets(char *buffer)
설명 : srdin으로부터 라인을 버퍼로 읽는 함수(문자열 입력)
printf
형식 : int printf(int c, FILE *file_pointer)
설명 : formatted output을 stdout에 쓰는 함수(서식을 사용하여 출력)
putc
형식 : int putc(int c, FILE *file_pointer)
설명 : 문자를 steam에 쓰기 위한 함수(파일에 한문자 출력 매크로정의)
putchar
형식 : int putchar(int c)
설명 : 문자를 stdout에 쓰기 위한 함수(한문자 출력)
puts
형식 : int puts(char *string)
설명 : 문자열을 stdout에 쓰기 위한 함수(문자열 출력)
rewind
형식 : void rewind(FILE *file_pointer)
설명 : 파일을 rewind하기 위한 함수(파일의 포인터를 처음으로 이동)
scanf
형식 : int scanf(char *format_string, args)
설명 : stdin으로부터 formatted input을 읽는 함수(서식을 사용한 입력)
setbuf
형식 : void setbuf(FILE *file_pointer, char *buffer)
설명 : stream을 위해 새로운 버퍼를 지정하는 함수 (버퍼링 제어)
setvbuf
형식 : int setvbuf(FILE *file_pointer, char *buffer, int buf_type, size_t buf_size)
설명 : 새로운 버퍼를 지정하고 제어하는 함수 (버퍼링 제어)
sprintf
형식 : int sprintf(char *string, char *format_string, args)
설명 : formatted output을 문자열로 쓰는 함수 (서식을 사용하여 데이터 문자열 변수에 쓴다)
sscanf
형식 : int sscanf(char *buffer, char *format_string, args)
설명 : 문자열로부터 formatted input을 읽는 함수 (서식을 사용하여 데이터 문자열 변수에 불러온다)
tmpfile
형식 : FILE *tmpfile(void)
설명 : temporary 파일의 이름을 가져오기 위한 함수(임시 파일 작성)
tmpnam
형식 : char *tmpnam(char *file_name)
설명 : temporary 파일의 이름을 가져오기 위한 함수(충돌하지 않는 파일명 생성)
ungetc
형식 : int ungetc(int c, FILE *file_pointer)
설명 : 문자를 stream의 버퍼에 되돌려 주는 함수( 파일에대한 문자 리텬)


- Low level 입출력 함수

 #intclude <io.h>

close
형식 : int close(int handle)
설명 : unbuffered I/O를 위해 열어 놓은 파일을 닫기 위한 파일, 정상적으로 수행되었을 경우 0을 반환한다. 에러가 발생되었을 경우에는 -1을 반환한다.
creat
형식 : int creat(char *filename, int pmode)
설명 : 주어진 permission을 갖는 새로운 파일을 생성하기 위한 파일, 에러가 발생되었을 경우에는 -1을 반환한다.
eof
형식 : int eof(int handle)
설명 : 파일의 끝을 검사하는 파일, 지정된 파일의 현재 위치가 파일의 끝이면 1을 반환하고 그렇지 않을 경우에는 0을 반환한다.
lseek
형식 : long lseek(int handle, long offset, int orgin)
설명 : 파일의 주어진 위치로 이동하는 함수
open
형식 : int open(char *filename, int oflag, unsigned pmode)
설명 : low-level I/O를 위해 파일을 여는 함수
read
형식 : int read(int handle, char *buffer, unsigned length)
설명 : 파일로부터 바이너리 데이터를 버퍼로 읽는 함수, 읽은 문자의 바이트 수를 반환한다. 파일의 끝일 경우에는 EOF를 반환한다. 에러가 발생되면 -1을 반환한다.
write
형식 : int write(int handle, char *buffer, unsigned count)
설명 : 버퍼에 있는 바이너리 데이터를 파일에 쓰는 함수, 정상적으로 수행되었을 경우에는 쓴 문자의 바이트 수를 반환한다. 에러가 발생되었을 경우에는 -1을 반환한다.


- Mathematics 수학 처리

 #intclude <math.h>

abs
형식 : int abs(int n)
설명 : 정수의 절대값을 구하는 함수
acos
형식 : double acos(double x)
설명 : x의 arc cosine을 계산하는 함수(아크 코사인)
asin
형식 : double asin(double x)
설명 : x의 arc sine을 계산하는 함수(아크사인)
atan
형식 : double atan(double x)
설명 : x의 arc tangent를 계산하는 함수(아크탄젠트)
atan2
형식 : double atan2(double y, double x)
설명 : y/x의 arc tangent를 계산하는 함수
ceil
형식 : double ceil(double x)
설명 : x를 초과하는 가장 작은 integral 값을 구하는 함수(최초정수)
cos
형식 : double cos(double x)
설명 : cosine을 계산하는 함수(코사인)
cosh
형식 : double cosh(double x)
설명 : x의 hyperbolic cosine을 계산하는 함수(하이퍼 볼릭코사인)
div
형식 : div_t div(int number, int denom)
설명 : nunber/denom을 계산하여 몫과 나머지로 이루어진 구조체 div_t를 반환한다.
div_t의 형식은 다음과 같다.
              type struct{
                   int quot;
                   int rem;
              } div_t;

exp
형식 : x의 exponential을 계산하는 함수(지수)
fabs
형식 : double fabs(double x)
설명 : x의 절대값을 구하는 함수(절대값)
floor
형식 : double floor(double x)
설명 : x보다 작은 가장 큰 integral값을 구하는 함수(최대정수)
fmod
형식 : double fmod(double x, double y)
설명 : x/y의 나머지를 반환하는 함수(부동 소수점의 나머지)
frexp
형식 : double frexp(double x, int *expptr)
설명 : x를 mantissa와 exponent로 분리하는 함수(부동소수점 계수 부분과 2의 거듭제곱 부분으로 분할)

labs
형식 : labs(long n)
설명 : long integer의 절대값을 찾는 함수
ldexp
형식 : double ldexp(double x, int exp)
설명 : mantissa와 exponent로 값을 계산하여 반환하는 함수(X*2n승 의 값을 계산)
ldiv
형식 : ldiv_t ldiv(long number, long denom)
설명 : long integer를 나눗셈하는 함수
log
형식 : double log(double x)
설명 : log(x)를 계산하는 함수(자연로그)
log10
형식 : double log10(double x)
설명 : base 10인 x의 log을 구하는 함수(상용로그)
modf
형식 : double modf(double x, double *inptr)
설명 : x를 fraction부분과 integer부분으로 분리하는 함수(정수 부분과 소수부분의 분할)
pow
형식 : double pow(double x, double y)
설명 : x의 y승을 구하는 함수(거듭제곱)
rand
형식 : int rand(void)
설명 : 0에서 32사이의 random 정수를 구하는 함수
random
형식 : int random(int max_num)
설명 : 0에서 max_num)사이의 random 정수를 구하는 함수
randomize
형식 : void randomize(void)
설명 : random 수를 발생시키기 위해 seed를 지정하는 함수
sin
형식 : double sin(double x)
설명 : sine을 계산하는 함수(사인)
sinh
형식 : double sinh(double x)
설명 : x의 hyperbolic sine을 계산하는 함수(하이퍼볼릭사인)
sqrt
형식 : double sqrt(double x)
설명 : x의 양의 제곱근을 계산하는 함수(평방근)
srand
형식 : void srand(unsigned seed)
설명 : random 수 발생을 위해 새로운 seed를 지정하는 함수
tan
형식 : double tan(double x)
설명 : x의 tangent를 계산하는 함수(탄젠트)
tanh
형식 : double tanh(double x)
설명 : x의 hyperbloic tangent를 계산하는 함수(하이퍼볼릭 탄젠트)


- 탐색과 정렬 함수

헤더 파일 : <stdlib.h>

bsearch
형식 : void *bsearch(void *key, void *base, size_t num, size_t width, int (*com pare)(void *elem1, void *elem2)
설명 : 이진 탐색을 수행하는 함수

qsort
형식 : void qsort(void *base, size_t num, size_t width, int (*compare)(void *elem1, void *elem2)
설명 : quick sort 알고리즘을 이용하여 정렬을 수행하는 함수


-문자열 조작 함수

#include <string.h> 


memchr
형식 : void *memchr(void *s, int c, size_t n)
설명 : 버퍼에 문자를 찾는 함수(지정한 문자열에서 문자를 검색한다.)
memcmp
형식 : int memcmp(void *s1, void s2, size_t n)
설명 : 두 버퍼를 비교하는 함수 (법위를 지정할수있는 문자열 비교)
memcpy
형식 : void *memcpy(void *dest, void *src, size_t n)
설명 : 버퍼의 내용을 복사하는 함수 (지정한 수의 문자를 한버퍼에서 다른버퍼로 복사한다)
memmove
형식 : void *memmove(void *dest, void *src, size_t n)
설명 : 바이트 수만큼 src버퍼에서 dest버퍼로 이동시키는 함수(복사 영역이 중복되어도 복사하는 memcpy)
memset
형식 : void *memset(void *s, int c, size_t n)
설명 : 주어진 문자로 버퍼로 채우는 함수(주어진 문자열의 바이트수를 주어진 문자로 초기화)

memicmp : 대문자와 소문자를 구별하지 않는 memcmp
strcat
형식 : int strcat(char *string1, char *string2)
설명 : 두 문자열을 결합하여 하나의 문자열로 만드는 함수(문자열의 연결)
strcmp
형식 : int strcmp(char *string1, char *string2)
설명 : 문자열을 알파벳 순서로 비교하는 함수, 두 문자열이 같으면 0을 반환한다.

          만약 같지 않으면 다음과 같은 값을 반환한다.

          string1 < string2 이면 음수 값을 반환
          string1 > string2 이면 양수 값을 반환

strcpy
형식 : char *strcpy(char *string1, char *string2)
설명 : 문자열 string2를 string1으로 복사하는 함수(문자열의 복사)
strerror
형식 : char *strerror(int errnum)
설명 : 주어진 에러 번호에 해당되는 에러 메시지를 가져오는 함수
strlen
형식 : int strlen(char *string)
설명 : 문자열의 길이를 구하는 함수 이때 NULL문자는 제외하고 길이를 구한다.
strncat
형식 : char *strncat(char *string1, char *string2, size_t n)
설명 : string2의 문자를 string1 끝에 붙이는 함수(문자 수를 지정할수있는 strcat)

         strncat(a,b,n); 문자열 a의 뒤에 문자열 b의 값을 n만큼 연결한다.
strncmp
형식 : int strncmp(char *string1, char *string2, size_t n)
설명 : 두 문자열의 처음 n개의 문자를 비교하는 함수(문자 수를 지정할수 있는 strcmp)

          strncmp(a,b,n); 문자열 a와 문자열 b를 n만큼 비교한다.
strncpy
형식 : char *strncpy(char *string1, char *string2, size_t n)
설명 : string2의 처음 n개의 문자를 string1에 복사하는 함수(문자 수를 지정할수있는 strcpy)

          strncpy(a,b,n); 문자열 a에 문자열 b를 n만큼 복사한다.
strnset
형식 : char *strnset(char *string, int c, size_t n)
설명 : 문자열의 처음 n개 문자를 c로 만드는 함수
strrchr
형식 : char *strrchr(char *string, int c)
설명 : 문자열의 뒤부터 검색 지정문자를 찾는다, 문자가 발견되지 않은 경우에는 NULL을 반환한다.

strchr : 문자열의 처음부터 시작하여 지정도니 문자를 찾는다.

strcspn : 지정한 복수의 문자를 검색

strspn : 지정한 복수의 문자 , 이외의 문자를 검색

strpbrk : 지정한 문자열에 포함되는 어떤 문자가 나타나는 위치를 찾는다.

strstr : 문자열안에서 지정한 문자열을 검색

strtok : 문자열에서 토큰을 꺼낸다.

-시간 함수

#include <time.h>

asctime
형식 : char *asctime(struct tm *time)
설명 : struct tm 형식의 시간정보를 문자열로 바꾸는 함수
clock
형식 : clock_t clock(void)
설명 : clock tick으로 실행개시부터 경과된 시간을 가져오는 함수
ctime
형식 : char *ctime(time_t *time)
설명 : 시스템 시계의 시간을 문자열로 바꾸는 함수
difftime
형식 : double difftime(time_t time1, time_t time2)
설명 : 두 시간 사이의 차를 초단위로 계산하는 함수
gmtime
형식 : struct_tm *gmtime(time_t *time)
설명 : Greenwich Meam Time(GMT)을 tm structuregudtlr으로 가져오는 함수(그리니치 표준시간)
localtime
형식 : struct tm *localtime(time_t *time)
설명 : local time을 tm structure형식으로 가져오는 함수(long 값의 초정보를 시간구조체로 변환)
time
형식 : time_t time(time_t *timeptr)
설명 : GMT 1970년1월 1일 00:00:00부터 경과된 현재 시간을 가져오는 함수

strftime : 날짜와 시간 정보를 서식화 한다.


-문자 분류 및 변환 함수

 #include <ctype.h>

isalnum
형식 : int isalnum(int c)
설명 : c가 alphanumeric이면 참값을 반환(알파벳과 숫자이면 참)
isalpha
형식 : int isalpha(int c)
설명 : c가 letter이면 참값을 반환(알파벳과 문자이면 참)
isascii
형식 : int isascii(int c)
설명 : c가 ASCII이면 참값을 반환
iscntrl
형식 : int iscntrl(int c)
설명 : c가 control 문자이면 참값을 반환(제어 문자라면 참)
isdigit
형식 : int isdigit(int c)
설명 : c가 decimal digit이면 참값을 반환(숫자라면 참)
isgraph
형식 : int isgraph(int c)
설명 : c가 graphic c문자이면 참값을 반환(공백을 제외한 인쇄가능한 문자라면 참)
islower
형식 : int islower(int c)
설명 : c가 소문자이면 참값을 반환
isprint
형식 : int isprint(int c)
설명 : c가 인쇄 가능한 문자이면 참값을 반환
ispunct
형식 : int ispunct(int c)
설명 : c가 punctuation 문자이면 참값을 반환(구분문자이면 참)
isspace
형식 : int isspace(int c)
설명 : c가 공백 문자이면 참값을 반환 (공백, 탭, 복귀,개행,수직탭,개항이면참)
isupper
형식 : int tsupper(int c)
설명 : c가 대문자이면 참값을 반환
isxdigit
형식 : int isxdigit(int c)
설명 : c가 hexadecimal digit이면 참값을 반환(16진수 문자이면 참)
toascii
형식 : int toascii(int c)
설명 : c를 ASCII로 변환하는 함수
tolower
형식 : tolower(int c)
설명 : c를 소문자로 변환하는 함수
toupper
형식 : int toupper(int c)
설명 : c를 대문자로 변환하는 함수


-기타 함수

다음은 화면 제어에 관한 라이브러리 함수들이다.
헤더 파일 : <conio.h>

clreol
형식 : void clreol(void)
설명 : 커서의 현 위치 행을 지우는 함수
clrscr
형식 : void clrscr(void)
설명 : 현재 사용 중인 윈도우를 지우고 커서를 왼쪽 상단으로 이동시키는 함수
deline
형식 : void deline(void)
설명 : 커서가 있는 행을 삭제하는 함수
gettext
형식 : int gettext(int left, int top, int right, int bottom, void *dest)
설명 : 지정된 텍스트 화면의 내용을 dest로 읽어 들이는 함수
gettextinfo
형식 : void gettextinfo(struct text_info r)
설명 : 현재의 텍스트 모드의 정보를 구조체 r로 읽어 들이는 함수, 구조체의 r의 형식은 다음과 같다.


작성자 맹쥬 <- 님의 블러그에서 따왔씁니다요.. 근데 몇개는 틀린게 잇어서 제가 수정해서 올렸어요~

저도 모르는 함수들은.. 항상 http://www.winapi.co.kr/ 요기서 참고합지요.. C언어 하는사람치고 여기 않들어가는

사람이 있을까요?ㅎㅎ