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

来源:互联网 发布:mac ae插件怎么安装 编辑:程序博客网 时间:2024/05/16 17:47

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 等著

0 0
原创粉丝点击