728x90
stdlib.h 헤더파일은 주로 시스템에 관련된 함수, 문자열 변환, 의사 난수 생성, 동적 메모리 관리 등의 함수들을 담고있다
내가 가장 애용하는 헤더파일이기도 하다.
이 헤더파일에서 지원하는 함수들은 아래와 같다.
함수 | 설명 |
---|---|
문자열 변환 | |
int atoi ( const char * str ); | str을 int로 변환한다. |
long int atol ( const char * str ); | str을 long으로 변환한다. |
double atof ( const char * str ); | str을 double으로 변환한다. |
long int strtol ( const char * str, char ** endptr, int base ); | str을 base진법으로 long으로 변환한 뒤 endptr!=NULL이면 숫자가 끝난 후 첫 문자의 위치를 endptr에 반환한다. |
unsigned long int strtoul ( const char * str, char ** endptr, int base ); | str을 base진법으로 unsigned long으로 변환한 뒤 endptr!=NULL이면 숫자가 끝난 후 첫 문자의 위치를 endptr에 반환한다. |
double strtod ( const char * str, char ** endptr ); | str을 base진법으로 double으로 변환한 뒤 endptr!=NULL이면 숫자가 끝난 후 첫 문자의 위치를 endptr에 반환한다. |
의사 난수 생성 | |
int rand ( void ); | 0부터 RAND_MAX 사이의 의사 난수를 반환한다. |
void srand ( unsigned int seed ); | 의사 난수 발생기를 seed로 초기화한다. 보통 seed는 time(NULL)로 설정된다. |
동적 메모리 관리 | |
void * malloc ( size_t size ); | size 바이트의 메모리를 힙에서 할당하여 반환한다. |
void * calloc ( size_t num, size_t size ); | (num * size) 바이트의 메모리를 힙에서 할당하여 반환한다. |
void * realloc ( void * ptr, size_t size ); | ptr이 가리키는 메모리를 size 바이트만큼 힙에서 재할당하여 반환한다. |
void free ( void * ptr ); | ptr이 가리키는 메모리를 해제한다.(할당했으면 반드시 해제해야 한다.) |
프로세스 제어 | |
void abort ( void ); | 현재 프로세스를 비정상적으로 종료한다. |
int atexit ( void ( * function ) (void) ); | 프로세스가 정상적으로 종료되었을 때 실행할 함수를 지정한다. |
void exit ( int status ); | 현재 프로세스를 정상적으로 종료한다. status는 부모 프로세스에게 전달된다. |
char * getenv ( const char * name ); | name에 해당하는 환경 변수를 반환한다. |
int system ( const char * command ); | command의 시스템 명령을 실행한다. |
검색/정렬 | |
void * bsearch ( const void * key, const void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) ); | 이진 검색을 한다. |
void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) ); | 퀵 정렬 알고리즘을 사용하여 정렬한다. |
정수 산술 | |
int abs ( int n ); long int labs ( long int n ); | n의 절대값을 반환한다. |
div_t div ( int numerator, int denominator ); ldiv_t ldiv ( long numerator, long denominator ); | numerator를 denominator로 나누어 div_t 또는 ldiv_t 구조체에 quot 멤버에는 몫을, rem 멤버에는 나머지를 채운 뒤 반환한다. |
이중에서도 난 system 을 가장 자주쓴다
system에선 실행 > cmd 창에서 사용할 수 있는 모든 명령어를 구동 시킬 수 있으며
리눅스로 치면 터미널명령어를 C언어에서 다룰 수 있는 것이다.
그래서 이 system을 이용하여 프로그램을 실행시키거나 웹사이트에 접속시키거나 심지어 창의 배경색, 글자색을 수시로 바꾸거나 할 수도 있다.
생각보다 매력적인 함수이며
배열과 stdlib헤더로 windows.h의 좌표 효과를 낼 수도 있다.
개인적으로 적극추천하는 헤더./
'it > programming' 카테고리의 다른 글
[ C++ ] 계산기 소스 (0) | 2012.05.21 |
---|---|
C++ 아스키코드를 문자로 변환( 파일입출력 ) (0) | 2012.04.25 |
[C++] 뺄셈을 이용한 최대공약수 구하기 (0) | 2012.04.23 |