stdlib.h
standard library标准库头文件,是一个大杂烩,定义和声明一些没有明显的归属的宏和函数。
1. Types
序号Types描述1div_tStructure returned by div2ldiv_tStructure returned by ldiv3lldiv_t (c++11)Structure returned by lldiv4size_tUnsigned integral type
2. Macro constants
序号Macro描述1EXIT_FAILUREFailure termination code2EXIT_SUCCESSSuccess termination code3NULLNull pointer4RAND_MAXMaximum value returned by rand5MB_CUR_MAXMaximum size of multibyte characters
3.Functions
3.1 String conversion
序号function原型说明1atofdouble atof (const char* str);Convert string to double2atoiint atoi (const char * str);Convert string to integer3atollong int atol ( const char * str );Convert string to long integer4atoll(c++11)long long int atoll ( const char * str );Convert string to long long integer5strtoddouble strtod (const char* str, char** endptr);若endptr为NULL,功能同atod,否则将非法解析完剩余字符串保存在endptr中6strtof(c++11)float strtof (const char* str, char** endptr);同上
3.2 Pseudo-random sequence generation(伪随机序列)
序号标记原型功能说明1randint rand (void);Generate random numberReturns a pseudo-random integral number in the range between 0 and RAND_MAX.2srandvoid srand (unsigned int seed);Initialize random number generator使用参数seed生成伪随机序列种子
3.3 Dynamic memory management(内存管理函数)
序号标记原型功能说明1allocvoid* calloc (size_t num, size_t size);Allocate and zero-initialize array成功,返回指针,失败,返回NULL2freevoid free (void* ptr);Deallocate memory block3mallocvoid* malloc (size_t size);Allocate memory block4reallocvoid* realloc (void* ptr, size_t size);Reallocate memory block将指向的对象大小改变为size指定的大小
3.4 Environment(环境通信函数)
序号标记原型功能说明1abortvoid abort(void)使程序异常终止2atexitint atexit (void (*func)(void));注册func指向的函数,该函数在异常终止时被调用注册成功,返回零,否则返回非零3at_quick_exit(C++11)int at_quick_exit (void (*func)(void));Set function to be executed on quick exit同上4exitvoid exit (int status);使程序的执行正常终止status是0或者EXIT_SUCCESS,返回成功终止状态,否则失败5_Exit(C++11)void _Exit (int status);Terminate calling process6quick_exit(C++11)void quick_exit (int status);Terminate calling process quick7getenvchar* getenv (const char* name);搜索一个与name匹配的宿主环境表串成功,返回指向串的指针,失败,返回NULL8systemint system (const char* command);把string指向的串传递给宿主环境,然后命令处理程序按照事先定义的方式执行
3.5 Searching and sorting(查找和排序)
序号标记原型功能说明1bsearchvoid* bsearch (const void* key, const void* base,size_t num, size_t size, int (compar)(const void,const void*));二分查找找到,返回指向匹配元素的指针,否则返回NULL2qsortvoid qsort (void* base, size_t num, size_t size, int (compar)(const void,const void*));快速排序
3.6 Integer arithmetics(整数算术)
序号标记原型功能1absint abs (int n);取绝对值2labslong int labs (long int n);3llabs(c++11)long long int llabs (long long int n);4divdiv_t div (int numer, int denom);计算number除以分母denom所得的商和余数5ldivldiv_t ldiv (long int numer, long int denom);6lldiv(c++11)lldiv_t lldiv (long long int numer, long long int denom);
3.7 Multibyte characters(多字节字符函数)
序号标记原型描述1mblenint mblen (const char* pmb, size_t max);Get length of multibyte character2mbtowcint mbtowc (wchar_t* pwc, const char* pmb, size_t max);Convert multibyte sequence to wide character3wctombint wctomb (char* pmb, wchar_t wc);Convert wide character to multibyte sequence
3.8 Multibyte strings(多字节字符串函数)
序号标记原型描述1mbstowcssize_t mbstowcs (wchar_t* dest, const char* src, size_t max);Convert multibyte string to wide-character string2wcstombssize_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 等著
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。