STDLIB.H

<stdlib.h> 헤더에는 일반적으로 사용할 수 있는 다양한 함수와 매크로 및 형식을 제공하고 있습니다.

이 책에서는 <stdlib.h> 헤더에서 제공하는 함수 중에 다음 38개 함수 사용법을 소개합니다.

double atof(const char *nptr); 
실수 표현의 문자열로 float 형식 값을 구함

int atoi(const char *nptr); 
정수 표현의 문자열로 int 형식 값을 구함

long atol(const char *nptr); 
실수 표현의 문자열로 long 형식 값을 구함

long long atoll(const char *nptr); 
정수 표현의 문자열로 long long 형식 값을 구함

double strtod(const char *nptr,char **endptr); 
수로 구성한 문자열로 double 형식 값을 구함

float strtof(const char *nptr,char **endptr); 
수로 구성한 문자열로 float 형식 값을 구함

long double strtold(const char *nptr, char **endptr); 
수로 구성한 문자열로 long double 형식 값을 구함

long strtol(const char * nptr,char **endptr,int base); 
정수로 구성한 문자열로 long 형식 값을 구함

long long strtoll(const char * nptr,char **endptr,int base); 
정수로 구성한 문자열로 long long 형식 값을 구함

unsigned long strtoul(const char *nptr,char **endptr,int base); 
정수로 구성한 문자열로 unsigned long 형식 값을 구함

unsigned long long strtoull(const char *nptr,char **endptr,int base);
정수로 구성한 문자열로 unsigned long long 형식 값을 구함

int rand(void); 
랜덤 값을 발생

void srand(unsigned int seed); 
랜덤 값을 계산할 때 사용하는 seed 값 설정

void *calloc(size_t nmemb, size_t size); 
동적으로 메모리 할당

void free(void *ptr); 
동적으로 할당한 메모리 해제

void *malloc(size_t size); 
동적으로 메모리 할당

void *realloc(void *ptr, size_t size); 
동적으로 메모리 할당

void abort(void); 
SIGABRT 시그널을 발생하는 함수

int atexit(void (*func)(void)); 
종료할 때 수행할 함수를 등록

void exit(int status); 
프로세스 종료

char *getenv(const char *name); 
환경 변수 값 구함

int system(const char *string); 
시스템 명령 수행

void *bsearch(const void *key, const void *base,size_t nmemb, size_t size,
              int (*compar)(const void *, const void *)); 
이진 탐색

void qsort(void *base, size_t nmemb, size_t size, 
           int (*compar)(const void *, const void *)); 
정렬

int abs(int j); 
절대값 구함

long labs(long j); 
절대값 구함

long long llabs(long long j); 
절대값 구함

div_t div(int numer, int denom); 
나누기 연산의 몫과 나머지 계산

ldiv_t ldiv(long numer, long denom); 
나누기 연산의 몫과 나머지 계산

lldiv_t lldiv(long long numer, long long denom); 
나누기 연산의 몫과 나머지 계산

int mblen(const char *s, size_t n); 
멀티 바이트 문자의 유효성을 확인하고 길이 구함

int mbtowc(wchar_t *pwc,const char *s,size_t n); 
멀티 바이트 문자를 와이드 문자로 변환 

int wctomb(char *s, wchar_t wc); 
와이드 문자를 멀티 바이트 문자로 변환

errno_t wctomb_s (size_t *pcnt,char * dest,size_t size, wchar_t wc); 
와이드 문자를 멀티 바이트 문자로 변환

size_t mbstowcs(wchar_t *pwcs,const char *s,size_t n); 
멀티 바이트 문자의 시퀀스를 와이드 문자의 시퀀스로 변환

errno_t mbstowcs_s(wchar_t *pwcs,size_t size, const char *s,size_t n ); 
멀티 바이트 문자의 시퀀스를 와이드 문자의 시퀀스로 변환

size_t wcstombs(char *s,const wchar_t *pwcs, size_t n); 
와이드 바이트 문자의 시퀀스를 멀티 문자의 시퀀스로 변환

errno_t wcstombs_s (size_t *pcnt,char* dest,size_t size, const wchar_t* src, size_t max); 
멀티 바이트 문자의 시퀀스를 와이드 문자의 시퀀스로 변환

atof atoi atol atoll strtod strtof strtold strtol strtoll strtoul strtoull rand srand calloc free malloc realloc abort atexit exit getenv system bsearch qsort abs labs llabs div ldiv lldiv mblen mbtowc wctomb wctomb_s mbstowcs mbstowcs_s wcstombs wcstombs_s