分类: C/C++
2013-05-02 10:07:11
该系列博文主要参考自 cppreference.com 和 cplusplus.com
由于博主水平有限,内容仅供参考
cstdlib 这个头文件比较复杂,有各种东西。 String conversion (字符串转换)
atof atoi atol atoll(c++11)
函数原型:
double atof(const char *str); (该函数较为特殊,atof却转为了double类型,其余均正常)
作用:
字符串转为double类型。
strtod strtof(c++11) strtol strtold(c++11) strtoll(c++11) strtoul strtoull(c++11)
函数原型:
double strtod(const char *str, char **endptr);
作用:
字符串转为double类型,endptr指向剩余部分的开头。(其余类似)
Pseudo-random sequence generation(伪随机序列的生成)
rand srand
函数原型:
int rand();
void srand(unsigned int seed);
作用:
这两个函数用于产生随机数。srand函数来设置随机种子,一般选取系统时间,rand函数产生随机数。
Dynamic memory management(动态内存管理)
malloc calloc realloc free
函数原型:
void *malloc(size_t size);
void *calloc(size_t num, size_t size);
void *realloc(void *prt, size_t size);
void free(void *ptr);
作用:
malloc:分配size字节大小的空闲存储空间,若成功,返回内存块的最低地址,若失败,返回NULL
calloc:分配num个size字节大小的存储空间,若成功,返回内存块的最低低至,若失败,返回NULL
realloc:重新分配size字节大小的存储空间,若成功,返回内存块的最低地址,若失败,返回NULL
free:释放以上三个函数临时分配的空间
Environment(环境)
abort exit quick_exit(c++11) _Exit(c++11) atexit at_quick_exit(c++11) system getenv
函数原型:
void abort();
void exit(int exit_code);
void quick_exit(int exit_code);
void _Exit(int exit_code);
int atexit(void (*func)());
int at_quick_exit(void (*func)());
int system(const char *command);
const char *getenv(const char *env_var);
作用:
abort:导致程序异常终止,不进行清理
exit:导致程序正常终止,进行清理
quick_exit:导致程序正常终止,不完全清理
_Exit:导致程序正常终止,不进行清理
atexit:程序正常终止时,执行函数func
at_qucik_exit:程序被quick_exit终止时,执行函数func
system:执行系统命令
getenv:获得环境变量
Searching and sorting(查找与排序)
bsearch qsort
函数原型:
void *bsearch(const void *key, const void *base, size_t num, size_t size, int (*compar)(const void *,const void *));
void qsort(void *base, size_t num, size_t size, int (*compar)(const void *, const void *));
作用:
二分查找与快排(这里不做赘述)
Integer arithmethics(整数运算)
abs div labs ldiv llabs lldiv
函数原型:
int abs(int n);
div_t div(int numer, int denom);
(其余类似)
作用:
取绝对值与整除(div_t后文会讲到)
Multibyte characters(多字节字符)
mblen mbtowc wctomb
函数原型:
int mblen(const char *pmb, size_t max);
int mbtowc(wchar_t *pwc, char *pmb, size_t max);
int wctomb(char *pmb, wchar_t wc);
作用:
mblen:获得多字节字符的长度
mbtowc:多字节序列转换为宽字符
wctomb:宽序列转换为多字节字符
Multibyte strings(多字节字符串)
mbstowcs wcstombs
函数原型:
size_t mbstowcs(wchar_t *dest, const char *src, size_t max);
size_t wcstombs(char *dest, const wchar_t *src, size_t max);
作用;
mbstowcs:多字节字符字符串转换为宽字符字符串
wcstombs:宽字符字符串转换为多字节字符字符串
Macro constants(宏常量)
EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
定义:
EXIT_FAILURE 错误结束
EXIT_SUCCESS 正确结束
MB_CUR_MAX 多字节字符的最大值
NULL 空字符串
RAND_MAX rand函数返回的最大值
Types(类型)
div_t ldiv_t lldiv_t(c++11) size_t
定义:
typedef struct {
int quot;
int rem;
} div_t;
ldiv_t lldiv_t 类似
typedef unsigned int size_t;
作用:
div_t 为div函数的返回值类型,quot为商,rem为余数