C语言常用头文件总结

C语言常用头文件总结

序号 库类别  头文件 

  字符处理 ctype.h 

  地区化 local.h 

  数学函数 math.h 

  信号处理 signal.h 

  输入输出 stdio.h 

  实用工具程序 stdlib.h

 7 字符串处理 string.h

 

 


一、头文件 ctype.h

字符测试函数

是否字母和数字 isalnum 
是否字母 isalpha 
是否控制字符 iscntrl 
是否数字 isdigit 
是否可显示字符(除空格外) isgraph 
是否可显示字符(包括空格) isprint 
是否既不是空格,又不是字母和数字的可显示字符 ispunct 
是否空格 isspace 
是否大写字母 isupper 
是否16进制数字(0-9,A-F)字符 isxdigit 
字符大小写转换函数 

转换为大写字母 toupper 
转换为小写字母 tolower

地区化 
本类别的函数用于处理不同国家的语言差异。

二、头文件 local.h

函数列表 
函数类别 函数用途 详细说明 
地区控制 地区设置 setlocale 
数字格式约定查询 国家的货币、日期、时间等的格式转换 localeconv

三、头文件 math.h

函数列表 
函数类别 函数用途 详细说明 
错误条件处理 定义域错误(函数的输入参数值不在规定的范围内) 
值域错误(函数的返回值不在规定的范围内) 
三角函数 反余弦 acos 
反正弦 asin 
反正切 atan 
反正切2 atan2 
余弦 cos 
正弦 sin 
正切 tan 
双曲函数 双曲余弦 cosh 
双曲正弦 sinh 
双曲正切 tanh 
指数和对数 指数函数 exp 
指数分解函数 frexp 
乘积指数函数 fdexp 
自然对数 log 
以10为底的对数 log10
浮点数分解函数 modf 
幂函数 幂函数 pow 
平方根函数 sqrt 
整数截断,绝对值和求余数函数 求下限接近整数 ceil 
绝对值 fabs 
求上限接近整数 floor 
求余数 fmod


本分类函数用于实现在不同底函数之间直接跳转代码。 头文件 setjmp.h io.h

函数列表 
函数类别 函数用途 详细说明 
保存调用环境 setjmp 
恢复调用环境 longjmp

四、信号处理 
该分类函数用于处理那些在程序执行过程中发生例外的情况。

头文件 signal.h

函数列表 
函数类别 函数用途 详细说明 
指定信号处理函数 signal 
发送信号 raise

可变参数处理 
本类函数用于实现诸如printf,scanf等参数数量可变底函数。

头文件 stdarg.h

函数列表 
函数类别 函数用途 详细说明 
可变参数访问宏 可变参数开始宏 va_start 
可变参数结束宏 va_end 
可变参数访问宏 访问下一个可变参数宏 va_arg

五、输入输出函数 
该分类用于处理包括文件、控制台等各种输入输出设备,各种函数以“流”的方式实现

头文件 stdio.h

函数列表 
函数类别 函数用途 详细说明 
文件操作 
删除文件 remove 
修改文件名称 rename 
生成临时文件名称 tmpfile 
得到临时文件路径 tmpnam 
文件访问 关闭文件 fclose 
刷新缓冲区 fflush 
打开文件 fopen 
将已存在的流指针和新文件连接 freopen 
设置磁盘缓冲区 setbuf 
设置磁盘缓冲区 setvbuf 
格式化输入与输出函数 格式输出 fprintf 
格式输入 fscanf 
格式输出(控制台) printf 
格式输入(控制台) scanf 
格式输出到缓冲区 sprintf 
从缓冲区中按格式输入 sscanf 
格式化输出 vfprintf 
格式化输出 vprintf 
格式化输出 vsprintf 
字符输入输出函数 输入一个字符 fgetc 
字符串输入 fgets 
字符输出 fputc 
字符串输出 fputs 
字符输入(控制台) getc 
字符输入(控制台) getchar 
字符串输入(控制台) gets 
字符输出(控制台) putc 
字符输出(控制台) putchar 
字符串输出(控制台) puts 
字符输出到流的头部 ungetc 
直接输入输出 直接流读操作 fread 
直接流写操作 fwrite 
文件定位函数 得到文件位置 fgetpos 
文件位置移动 fseek 
文件位置设置 fsetpos 
得到文件位置 ftell 
文件位置复零位 remind 
错误处理函数 错误清除 clearerr 
文件结尾判断 feof 
文件错误检测 ferror 
得到错误提示字符串 perror

六、实用工具函数 

头文件 stdlib.h

函数列表 
函数类别 函数用途 详细说明 
字符串转换函数 字符串转换为整数 atoi 
字符串转换为长整数 atol 
字符串转换为浮点数 strtod 
字符串转换为长整数 strtol 
字符串转换为无符号长整型 strtoul 
伪随机序列产生函数 产生随机数 rand 
设置随机函数的起动数值 srand 
存储管理函数 分配存储器 calloc 
释放存储器 free 
存储器分配 malloc 
重新分配存储器 realloc 
环境通信 中止程序 abort 
退出程序执行,并清除环境变量 atexit 
退出程序执行 exit 
读取环境参数 getenv 
程序挂起,临时执行一个其他程序 system 
搜索和排序工具 二分查找(数据必须已排序) bsearch 

快速排序 qsort 

求绝对值 abs  
整数运算函数div 得到除法运算底商和余数 
求长整形底绝对值 labs 
求长整形除法的商和余数 ldiv 
多字节字符函数 得到多字节字符的字节数 mblen 
得到多字节字符的字节数 mbtowc 
多字节字符转换 wctomb 
多字节字符的字符串操作 将多字节串转换为整数数组 mbstowcs 
将多字节串转换为字符数组 mcstowbs

七、字符串处理 
本分类的函数用于对字符串进行合并、比较等操作

头文件 string.h

函数列表 
函数类别 函数用途 详细说明 
字符串拷贝 块拷贝(目的和源存储区不可重叠) memcpy 
块拷贝(目的和源存储区可重叠) memmove 
串拷贝 strcpy 
按长度的串拷贝 strncpy 
字符串连接函数 串连接 strcat 
按长度连接字符串 strncat 
串比较函数 块比较 memcmp 
字符串比较 strcmp 
字符串比较(用于非英文字符) strcoll 
按长度对字符串比较 strncmp 
字符串转换 strxfrm 
字符与字符串查找 字符查找 memchr 
字符查找 strchr 
字符串查找 strcspn 
字符串查找 strpbrk 
字符串查找 strspn 
字符串查找 strstr 
字符串分解 strtok 
杂类函数 字符串设置 memset 
错误字符串映射 strerror 
求字符串长度 strlen

八、日期和时间函数 
本类别给出时间和日期处理函数

头文件 time.h

函数列表 
函数类别 函数用途 详细说明 
时间操作函数 得到处理器时间 clock 
得到时间差 difftime 
设置时间 mktime 
得到时间 time 
时间转换函数 得到以ASCII码表示的时间 asctime 
得到字符串表示的时间 ctime 
得到指定格式的时间 strftime


转自:http://blog.sina.com.cn/s/blog_677e6d880100qlar.html

<think>好的,用户之前问过关于C语言头文件是否可以多写的问题,现在他想要一个常用头文件的汇总。我需要先回顾之前的回答,确保这次的信息一致,并且更详细地列出每个头文件的功能和示例。 首先,用户可能正在学习C语言,对各个头文件的作用不太清楚,需要一份清晰的参考资料。他们可能在实际编码中遇到问题,比如编译错误,想知道该包含哪些头文件。此外,他们可能希望了解每个头文件的常见函数,以便使用时查阅。 需要确定常见的头文件有哪些,比如stdio.h、stdlib.h、string.h、math.h、ctype.h、time.h、stdbool.h、assert.h、float.h、limits.h、errno.h等。每个头文件要简明扼要地说明其作用,列举几个关键函数或宏,并给出简单的代码示例,这样用户能直观理解用法。 还要注意用户可能对某些概念不太熟悉,比如动态内存分配或位运算,所以在解释相关头文件时需要简单说明这些概念。例如,stdlib.h中的malloc和free,可能需要提到动态内存管理的基础。 另外,用户可能对何时需要链接数学库(-lm)不太清楚,这在math.h部分需要强调,特别是使用gcc编译时要注意添加参数。同时,像stdbool.h这样的头文件可能对新手来说比较陌生,需要解释它引入了bool类型。 需要检查是否有遗漏的常用头文件,比如Windows特有的windows.h是否需要提及?不过用户可能更关注标准库,所以暂时不包含平台特定的内容。确保每个条目结构一致,先描述作用,再列出函数,然后是示例,最后注意事项。 最后,总结部分要提醒用户根据实际需求包含头文件,并注意编译选项。保持回答结构清晰,方便用户快速查找信息。可能还需要注意代码示例的正确性,避免语法错误,比如在ctype.h的例子中正确使用isalpha和toupper函数。 现在需要组织这些信息,分成主要头文件和其他常用头文件,用列表和代码块展示,确保格式正确,符合之前的系统级指令,比如行内数学表达式和独立公式的格式,不过这次主要是代码和文字,可能用不到数学公式。检查是否有中文错误,确保语言流畅,专业术语准确。</think>以下是C语言常用标准库头文件的汇总说明,按功能分类整理: --- ### **一、基础输入输出** #### **`<stdio.h>`** - **功能**:标准输入输出操作 - **关键函数/宏**: - `printf()` / `scanf()`:格式化输出/输入 - `fopen()` / `fclose()`:文件操作 - `getchar()` / `putchar()`:字符输入/输出 - **示例**: ```c #include <stdio.h> int main() { printf("Hello, World!"); return 0; } ``` --- ### **二、内存与动态分配** #### **`<stdlib.h>`** - **功能**:内存管理、类型转换、随机数生成 - **关键函数**: - `malloc()` / `free()`:动态内存分配与释放 - `atoi()` / `atof()`:字符串转数值 - `rand()` / `srand()`:生成伪随机数 - **示例**: ```c int *arr = malloc(10 * sizeof(int)); // 分配10个int空间 ``` --- ### **三、字符串处理** #### **`<string.h>`** - **功能**:字符串操作与内存块处理 - **关键函数**: - `strcpy()` / `strcat()`:复制/拼接字符串 - `strlen()`:获取字符串长度 - `memset()` / `memcpy()`:内存块初始化/复制 - **示例**: ```c char src[] = "Hello"; char dest[10]; strcpy(dest, src); // dest = "Hello" ``` --- ### **四、数学计算** #### **`<math.h>`** - **功能**:数学函数与常量 - **关键函数**: - `sqrt()` / `pow()`:平方根/幂运算 - `sin()` / `cos()`:三角函数 - `M_PI`:圆周率常量(需定义 `_USE_MATH_DEFINES`) - **编译注意**:需链接数学库(`gcc`添加 `-lm` 参数) - **示例**: ```c double x = sqrt(25); // x = 5.0 ``` --- ### **五、字符处理** #### **`<ctype.h>`** - **功能**:字符类型判断与转换 - **关键函数**: - `isalpha()` / `isdigit()`:判断字母/数字 - `toupper()` / `tolower()`:大小写转换 - **示例**: ```c char c = 'a'; printf("%c", toupper(c)); // 输出 'A' ``` --- ### **六、时间与日期** #### **`<time.h>`** - **功能**:时间获取与格式化 - **关键函数**: - `time()`:获取当前时间戳 - `ctime()`:时间戳转字符串 - `clock()`:程序运行时间测量 - **示例**: ```c time_t now = time(NULL); printf("当前时间: %s", ctime(&now)); ``` --- ### **七、其他常用头文件** | 头文件 | 功能描述 | 关键内容 | |-----------------|----------------------------|--------------------------| | **`<stdbool.h>`** | 布尔类型支持 | `bool`, `true`, `false` | | **`<assert.h>`** | 断言调试 | `assert(condition)` | | **`<float.h>`** | 浮点数精度常量 | `FLT_MAX`, `DBL_EPSILON` | | **`<limits.h>`** | 整数类型范围常量 | `INT_MAX`, `CHAR_BIT` | | **`<errno.h>`** | 错误码标识 | `errno`, `perror()` | --- ### **八、总结** 1. **必要包含**:根据代码功能包含对应头文件,例如使用 `printf` 必须包含 `<stdio.h>`。 2. **冗余问题**:多包含不影响编译,但建议保持精简(如仅包含 `<stdbool.h>` 时无需包含其他)。 3. **特殊编译**:使用 `<math.h>` 需添加 `-lm` 链接选项(Linux/gcc)。 **示例综合代码**: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *s = malloc(10); strcpy(s, "Hello"); printf("%s\n", s); free(s); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值