c语言标准库

# c语言标准库

C语言函数手册也称为C标准库。C标准库由在15个头文件中声明的函数、类型定义和宏组成,每个头文件都代表了一定范围的编程功能。有人说,C标准库可以分为 3 组,如何正确并熟练的使用它们,可以相应的可区分出 3 个层次的程序员:

合格程序员:<stdio.h>、<ctype.h>、<stdlib.h>、<string.h>

熟练程序员:<assert.h>、<limits.h>、<stddef.h>、<time.h>

优秀程序员:<float.h>、<math.h>、<error.h>、<locale.h>、<setjmp.h>、<signal.h>、<stdarg.h>

stdio.h (opens new window)

stdlib.h (opens new window)

conio.h (opens new window)

alloc.h (opens new window)

graphics.h (opens new window)

system.h (opens new window)

string.h (opens new window)

ctype.h (opens new window)

math.h (opens new window)

locale.h (opens new window)

# 1. stdio.h (opens new window)

函数 说明
fopen() (opens new window) 打开一个文件并返回文件指针
getc() (opens new window) 从流中读取字符
getchar() (opens new window) 从控制台读取字符并立即回显
gets() (opens new window) 从流中读取字符串
putc() (opens new window) 写文件函数(将一指定字符写入文件中)
putchar() (opens new window) 向控制台输出一个字符
rewind() (opens new window) 将文件指针重新指向文件开头
setbuf() (opens new window) 把缓冲区与流相关联
setvbuf() (opens new window) 设置文件流的缓冲区
ungetc() (opens new window) 把字符退回到输入流
printf() (opens new window) 格式化输出函数
sprintf() (opens new window) 将格式化的数据写入字符串
sscanf() (opens new window) 从字符串中读取指定格式的数据
remove() (opens new window) 删除文件或目录
rename() (opens new window) 重命名文件或目录
perror() (opens new window) 打印最近一次系统错误信息
getche() (opens new window) 从控制台读取字符并立即回显
getw() (opens new window) 以二进制形式从文件流中读取整数
puts() (opens new window) 将一个字符串放入标准输出流(stdout)中
putw() (opens new window) 以二进制形式向文件流中写入整数
snprintf() (opens new window) 将格式化的数据写入字符串—sprintf()
temfile() (opens new window) 以二进制形式创建一个临时文件并打开
tmpnam() (opens new window) 产生一个唯一的包含路径的文件名
ungetch() (opens new window) 把一个字符退回到键盘缓冲区
fgetpos() (opens new window) 获得当前文件的读写指针
fsetpos() (opens new window) 设置当前文件的读写指针
fclose() (opens new window) 关闭文件流
fflush() (opens new window) 清空文件缓冲区(或标准输入输出缓冲区)
ferror() (opens new window) 检测文件流是否出错
freopen() (opens new window) 文件流重定向,流替换
clearerr() (opens new window) 清除(复位)文件流的错误标识,并使文件结束标标识为0
fgetc() (opens new window) 从文件流中读取一个字符
fgetchar() (opens new window) 从文件流中读取一个字符
fputchar() (opens new window) 将一个字符输出到标准输出流(stdout)中
fgets() (opens new window) 从文件流中读取一行或指定个数的字符
feof() (opens new window) 检查流上文件的结束标识(是否读到文件结尾)
fputs() (opens new window) 将指定的字符串写入到文件流
fread() (opens new window) 从文件流中读取数据
fwrite() (opens new window) 向文件流中写入数据
fseek() (opens new window) 移动文件的读写指针到指定的位置
ftell() (opens new window) 获取文件读写指针的当前位置
fprintf() (opens new window) 将格式化数据输出到文件流
scanf() (opens new window) 格式化输入函数
fscanf() (opens new window) 将文件流中的数据格式化输入

# 2. stdlib.h (opens new window)

函数 说明
atof() (opens new window) 将字符串转换为double(双精度浮点数)
atoi() (opens new window) 将字符串转换成int(整数)
atol() (opens new window) 将字符串转换成long(长整型)
strtod() (opens new window) 将字符串转换为double(双精度浮点数)
strtol() (opens new window) 将字符串转换成long(长整型数)
strtoul() (opens new window) 将字符串转换成unsigned long(无符号长整型数)
calloc() (opens new window) 分配内存空间并初始化
free() (opens new window) 释放动态分配的内存空间
malloc() (opens new window) 动态分配内存空间
realloc() (opens new window) 重新分配内存空间

# 7. string.h (opens new window)

函数 说明
bcmp() (opens new window) 比较内存(字符串)的前n个字节是否相等
bcopy() (opens new window) 复制内存(字符串)
bzero() (opens new window) 将内存(字符串)前n个字节清零
memcpy() (opens new window) 复制内存内容(忽略\0)
memmove() (opens new window) 复制内存内容(可以处理重叠的内存块)
memset() (opens new window) 将内存的前n个字节设置为特定的值
strcat() (opens new window) 连接字符串
strchr() (opens new window) 查找某字符在字符串中首次出现的位置
strcmp() (opens new window) 比较字符串(区分大小写)
strcoll() (opens new window) 根据环境变量LC_COLLATE来比较字符串
strcspn() (opens new window) 计算字符串str中连续有几个字符都不属于字符串accept
strlen() (opens new window) 返回字符串的长度
strncat() (opens new window) 在字符串的结尾追加n个字符
strncpy() (opens new window) 复制字符串的前n个字符
strpbrk() (opens new window) 返回两个字符串中首个相同字符的位置
strrchr() (opens new window) 查找某字符在字符串中最后一次出现的位置
strspn() (opens new window) 计算字符串str中连续有几个字符都属于字符串accept
strstr() (opens new window) 返回字符串中首次出现子串的地址
strtok() (opens new window) 字符串分割
stpcpy() (opens new window) 将字符串复制到数组
strcpy() (opens new window) 字符串复制
stricmp() (opens new window) 比较字符串(不区分大小写)
strcmpi() (opens new window) 比较字符串(不区分大小写),stricmp()的宏定义
strlwr() (opens new window) 将字符串转换为小写
strupr() (opens new window) 将字符串转换为大写
strncmp() (opens new window) 比较字符串的前n个字符(区分大小写)
strnicmp() (opens new window) 比较字符串的前n个字符(区分大小写)
strncmpi() (opens new window) 比较两个字符串的前n个字符(不区分大小写)
strrev() (opens new window) 字符串逆置(倒序、逆序)
strset() (opens new window) 将字符串的所有字符设置为指定字符
strnset() (opens new window) 将字符串的前n个字符设置为指定字符

# 8.type.h (opens new window)

函数 说明
isalnum() (opens new window) 判断字符是否为英文字母或数字
isalpha() (opens new window) 判断字符是否为英文字母
iscntrl() (opens new window) 判断字符是否为ASCII码的控制字符
isdigit() (opens new window) 判断字符是否为阿拉伯数字
isgraph() (opens new window) 判断字符是否为除空格以外的可打印字符
islower() (opens new window) 判断字符是否为小写字母
isprint() (opens new window) 判断字符是否为可打印字符
isspace() (opens new window) 判断字符是否为空白字符
ispunct() (opens new window) 判断字符是否为标点符号或特殊字符
isupper() (opens new window) 判断字符是否为大写英文字母
isxdigit() (opens new window) 判断字符是否为16进制数字
toascii() (opens new window) 将字符转换成对应的ASCII码
tolower() (opens new window) 将大写字母转换为小写字母
toupper() (opens new window) 将小写字母转换为大写字母
isascii() (opens new window) 检测字符是否为ASCII字符
isblank() (opens new window) 判断字符是否为TAB或空格

# 9. math.h (opens new window)

函数 说明
acos() (opens new window) 求反余弦的值
cos() (opens new window) 求余弦值
cosh() (opens new window) 求双曲余玄值
exp() (opens new window) e的次幂函数(以e为底的x次方值)
frexp() (opens new window) 把一个浮点数分解为尾数和指数
ldexp() (opens new window) 返回x乘上2的exp次方的值
log() (opens new window) 返回以e为底的对数值
log10() (opens new window) 返回以10为底的对数值
pow() (opens new window) 求x的y次方(次幂)
sin() (opens new window) 正弦函数
sinh() (opens new window) 双曲正玄函数
sqrt() (opens new window) 求给定值的平方根
tan() (opens new window) 正切函数
tanh() (opens new window) 双曲线正切函数
fabs() (opens new window) 求浮点数的绝对值
abs() (opens new window) 求整数的绝对值
asin() (opens new window) 反正弦函数
atan() (opens new window) 反正切函数
atan2() (opens new window) 求y/x的反正切值
ceil() (opens new window) 向上取整,即求不小于某个数的最小整数
floor() (opens new window) 向下取整,即求不大于某个数的最大整数
fmod() (opens new window) 对浮点数取模(求余)
modf() (opens new window) 将浮点数分解为整数和小数部分
hypot() (opens new window) 求直角三角形的斜边长
pow10() (opens new window) 求10的x次方(次幂)

#