C /C++标准库 - (stdlib.h)

stdlib.h

standard library标准库头文件,是一个大杂烩,定义和声明一些没有明显的归属的宏和函数。

1. Types

序号 Types 描述
1 div_t Structure returned by div
2 ldiv_t Structure returned by ldiv
3 lldiv_t (c++11) Structure returned by lldiv
4 size_t Unsigned integral type

2. Macro constants

序号 Macro 描述
1 EXIT_FAILURE Failure termination code
2 EXIT_SUCCESS Success termination code
3 NULL Null pointer
4 RAND_MAX Maximum value returned by rand
5 MB_CUR_MAX Maximum size of multibyte characters

3.Functions

3.1 String conversion

序号 function 原型 说明
1 atof double atof (const char* str); Convert string to double
2 atoi int atoi (const char * str); Convert string to integer
3 atol long int atol ( const char * str ); Convert string to long integer
4 atoll(c++11) long long int atoll ( const char * str ); Convert string to long long integer
5 strtod double strtod (const char* str, char** endptr); 若endptr为NULL,功能同atod,否则将非法解析完剩余字符串保存在endptr中
6 strtof(c++11) float strtof (const char* str, char** endptr); 同上

3.2 Pseudo-random sequence generation(伪随机序列)

序号 标记 原型 功能 说明
1 rand int rand (void); Generate random number Returns a pseudo-random integral number in the range between 0 and RAND_MAX.
2 srand void srand (unsigned int seed); Initialize random number generator 使用参数seed生成伪随机序列种子

3.3 Dynamic memory management(内存管理函数

序号 标记 原型 功能 说明
1 alloc void* calloc (size_t num, size_t size); Allocate and zero-initialize array 成功,返回指针,失败,返回NULL
2 free void free (void* ptr); Deallocate memory block
3 malloc void* malloc (size_t size); Allocate memory block
4 realloc void* realloc (void* ptr, size_t size); Reallocate memory block 将指向的对象大小改变为size指定的大小

3.4 Environment(环境通信函数)

序号 标记 原型 功能 说明
1 abort void abort(void) 使程序异常终止
2 atexit int atexit (void (*func)(void)); 注册func指向的函数,该函数在异常终止时被调用 注册成功,返回零,否则返回非零
3 at_quick_exit(C++11) int at_quick_exit (void (*func)(void)); Set function to be executed on quick exit 同上
4 exit void exit (int status); 使程序的执行正常终止 status是0或者EXIT_SUCCESS,返回成功终止状态,否则失败
5 _Exit(C++11) void _Exit (int status); Terminate calling process
6 quick_exit(C++11) void quick_exit (int status); Terminate calling process quick
7 getenv char* getenv (const char* name); 搜索一个与name匹配的宿主环境表串 成功,返回指向串的指针,失败,返回NULL
8 system int system (const char* command); 把string指向的串传递给宿主环境,然后命令处理程序按照事先定义的方式执行

3.5 Searching and sorting(查找和排序)

序号 标记 原型 功能 说明
1 bsearch void* bsearch (const void* key, const void* base,size_t num, size_t size, int (compar)(const void,const void*)); 二分查找 找到,返回指向匹配元素的指针,否则返回NULL
2 qsort void qsort (void* base, size_t num, size_t size, int (compar)(const void,const void*)); 快速排序

3.6 Integer arithmetics(整数算术)

序号 标记 原型 功能
1 abs int abs (int n); 取绝对值
2 labs long int labs (long int n);
3 llabs(c++11) long long int llabs (long long int n);
4 div div_t div (int numer, int denom); 计算number除以分母denom所得的商和余数
5 ldiv ldiv_t ldiv (long int numer, long int denom);
6 lldiv(c++11) lldiv_t lldiv (long long int numer, long long int denom);

3.7 Multibyte characters(多字节字符函数)

序号 标记 原型 描述
1 mblen int mblen (const char* pmb, size_t max); Get length of multibyte character
2 mbtowc int mbtowc (wchar_t* pwc, const char* pmb, size_t max); Convert multibyte sequence to wide character
3 wctomb int wctomb (char* pmb, wchar_t wc); Convert wide character to multibyte sequence

3.8 Multibyte strings(多字节字符串函数)

序号 标记 原型 描述
1 mbstowcs size_t mbstowcs (wchar_t* dest, const char* src, size_t max); Convert multibyte string to wide-character string
2 wcstombs size_t wcstombs (char* dest, const wchar_t* src, size_t max); Convert wide-character string to multibyte string

参考:http://www.cplusplus.com/reference/cstdlib/
《C标准库》,P.J. Plauger 著
《C语言参考手册》,Samuel P. Harbison III 等著

你可能感兴趣的:(C语言,library)