参看:C/C++常用头文件及函数汇总

linux常用头文件如下:

POSIX标准定义的头文件
<dirent.h>        目录项
<fcntl.h>         文件控制
<fnmatch.h>    文件名匹配类型
<glob.h>    路径名模式匹配类型
<grp.h>        组文件
<netdb.h>    网络数据库操作
<pwd.h>        口令文件
<regex.h>    正则表达式
<tar.h>        TAR归档值
<termios.h>    终端I/O
<unistd.h>    符号常量
<utime.h>    文件时间
<wordexp.h>    字符扩展类型
-------------------------
<arpa/inet.h>    INTERNET定义
<net/if.h>    套接字本地接口
<netinet/in.h>    INTERNET地址族
<netinet/tcp.h>    传输控制协议定义
------------------------- 
<sys/mman.h>    内存管理声明
<sys/select.h>    Select函数
<sys/socket.h>    套接字借口
<sys/stat.h>    文件状态
<sys/times.h>    进程时间
<sys/types.h>    基本系统数据类型
<sys/un.h>    UNIX域套接字定义
<sys/utsname.h>    系统名
<sys/wait.h>    进程控制
------------------------------
POSIX定义的XSI扩展头文件
<cpio.h>    cpio归档值 
<dlfcn.h>    动态链接
<fmtmsg.h>    消息显示结构
<ftw.h>        文件树漫游
<iconv.h>    代码集转换使用程序
<langinfo.h>    语言信息常量
<libgen.h>    模式匹配函数定义
<monetary.h>    货币类型
<ndbm.h>    数据库操作
<nl_types.h>    消息类别
<poll.h>    轮询函数
<search.h>    搜索表
<strings.h>    字符串操作
<syslog.h>    系统出错日志记录
<ucontext.h>    用户上下文
<ulimit.h>    用户限制
<utmpx.h>    用户帐户数据库 
-----------------------------
<sys/ipc.h>    IPC(命名管道)
<sys/msg.h>    消息队列
<sys/resource.h>资源操作
<sys/sem.h>    信号量
<sys/shm.h>    共享存储
<sys/statvfs.h>    文件系统信息
<sys/time.h>    时间类型
<sys/timeb.h>    附加的日期和时间定义
<sys/uio.h>    矢量I/O操作
------------------------------
POSIX定义的可选头文件
<aio.h>        异步I/O
<mqueue.h>    消息队列
<pthread.h>    线程
<sched.h>    执行调度
<semaphore.h>    信号量
<spawn.h>     实时spawn接口
<stropts.h>    XSI STREAMS接口
<trace.h>     事件跟踪

C/C++头文件一览
C

#include <assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <iso646.h>        //对应各种运算符的宏
#include <limits.h>    //定义各种数据类型最值的常量
#include <locale.h>    //定义本地化C函数
#include <math.h>     //定义数学函数
#include <setjmp.h>        //异常处理支持
#include <signal.h>        //信号机制支持
#include <stdarg.h>        //不定参数列表支持
#include <stddef.h>        //常用常量
#include <stdio.h>     //定义输入/输出函数
#include <stdlib.h>    //定义杂项函数及内存分配函数
#include <string.h>    //字符串处理
#include <time.h>     //定义关于时间的函数
#include <wchar.h>     //宽字符处理及输入/输出
#include <wctype.h>    //宽字符分类

传统C++
#include <fstream.h>    //改用<fstream>
#include <iomanip.h>    //改用<iomainip>
#include <iostream.h>   //改用<iostream>
#include <strstrea.h>   //该类不再支持,改用<sstream>中的stringstream
————————————————————————————————

标准C++ 
#include <algorithm>    //STL 通用算法
#include <bitset>     //STL 位集容器
#include <cctype>         //字符处理
#include <cerrno>      //定义错误码
#include <cfloat>     //浮点数处理
#include <ciso646>         //对应各种运算符的宏
#include <climits>     //定义各种数据类型最值的常量
#include <clocale>     //定义本地化函数
#include <cmath>      //定义数学函数
#include <complex>     //复数类
#include <csignal>         //信号机制支持
#include <csetjmp>         //异常处理支持
#include <cstdarg>         //不定参数列表支持
#include <cstddef>         //常用常量
#include <cstdio>      //定义输入/输出函数
#include <cstdlib>     //定义杂项函数及内存分配函数
#include <cstring>     //字符串处理
#include <ctime>      //定义关于时间的函数
#include <cwchar>      //宽字符处理及输入/输出
#include <cwctype>     //宽字符分类
#include <deque>      //STL 双端队列容器
#include <exception>    //异常处理类
#include <fstream>     //文件输入/输出
#include <functional>   //STL 定义运算函数(代替运算符)
#include <limits>      //定义各种数据类型最值常量
#include <list>      //STL 线性列表容器
#include <locale>         //本地化特定信息
#include <map>       //STL 映射容器
#include <memory>         //STL通过分配器进行的内存分配
#include<new>            //动态内存分配
#include <numeric>         //STL常用的数字操作
#include <iomanip>     //参数化输入/输出
#include <ios>       //基本输入/输出支持
#include <iosfwd>     //输入/输出系统使用的前置声明
#include <iostream>    //数据流输入/输出
#include <istream>     //基本输入流
#include <iterator>        //STL迭代器
#include <ostream>     //基本输出流
#include <queue>      //STL 队列容器
#include <set>       //STL 集合容器
#include <sstream>     //基于字符串的流
#include <stack>      //STL 堆栈容器
#include <stdexcept>    //标准异常类
#include <streambuf>    //底层输入/输出支持
#include <string>     //字符串类
#include <typeinfo>        //运行期间类型信息
#include <utility>     //STL 通用模板类
#include <valarray>        //对包含值的数组的操作
#include <vector>     //STL 动态数组容器
————————————————————————————————

C99增加的部分
#include <complex.h>   //复数处理
#include <fenv.h>    //浮点环境
#include <inttypes.h>  //整数格式转换
#include <stdbool.h>   //布尔环境
#include <stdint.h>   //整型环境
#include <tgmath.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
数学函数: 本分类给出了各种数学计算函数,必须提醒的是ANSIC标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)
----------------------------------------
反余弦 acos
反正弦 asin
反正切 atan
反正切2 atan2
余弦 cos
正弦 sin
正切 tan

双曲余弦 cosh
双曲正弦 sinh
双曲正切 tanh

指数函数 exp
指数分解函数 frexp
乘积指数函数 fdexp
自然对数 log
以10为底的对数 log10
浮点数分解函数 modf

幂函数 pow

平方根函数 sqrt


扩展:

使用pow幂函数,当指数为变量时,编译出现undefined reference to `pow‘的错误

因为math.h不是C运行库函数,就像linux下线程函数库pthread.h也不是,都需要在编译时连接该库。如果你有

IDE(如eclipse)+ GCC 开发C程序,可以在项目属性中编译命令中添加-lm,作用是一样的。

#include <stdio.h>
#include <math.h>int main (void)
{int n = 2, m = 2;int i = pow (2, m);printf ("i = %d\n", i);return 0;
}
编译:gcc test.c -lm
输出结果:
i = 4

求下限接近整数 ceil
绝对值 fabs
求上限接近整数 floor
求余数 fmod

头文件 setjmp.h io.h
本分类函数用于实现在不同底函数之间直接跳转代码。
----------------------------------------
保存调用环境 setjmp
恢复调用环境 longjmp

头文件 signal.h
信号处理: 该分类函数用于处理那些在程序执行过程中发生例外的情况。
----------------------------------------
指定信号处理函数 signal
发送信号 raise

头文件 stdarg.h
可变参数处理: 本类函数用于实现诸如printf,scanf等参数数量可变底函数。
----------------------------------------
可变参数访问宏
可变参数开始宏 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

序号 库类别 头文件
----------------------------------------
1   错误处理      errno.h
2   字符处理      ctyphe.
3   地区化        local.h
4   数学函数      math.h
5   信号处理      signal.h
6   输入输出      stdio.h
7   实用工具程序   stdlib.h
8   字符串处理     string.h

C语言再学习 -- 常用头文件和函数(转)相关推荐

  1. C语言semaphore头文件,C语言再学习 -- 常用头文件和函数

    Linux常用头文件如下: POSIX标准定义的头文件 < dirent.h>        目录项 < fcntl.h>         文件控制 < fnmatch. ...

  2. C语言再学习 -- 创建excel文件

    参看:C语言操作Excel表格 上一篇文章讲了一下 cJSON,可以生成json文件了.这篇文章讲一下怎么生成excel表xsl格式文件. 注意点: 1.文件类型为 xls 或者 xlsx 2.使用f ...

  3. C语言再学习 -- 关键字return和exit ()函数

    终于到了最后一个关键字 return 了.感觉时间过的飞快,转眼间又是一年,如果时间可以 return 就好了. 一.return 介绍 参看:C语言中return 用法 1.含义: return 表 ...

  4. C语言再学习 -- ctype.h字符判断函数

    参看:ctype.h 百度百科 ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特 ...

  5. C++常用头文件及函数

    1.头文件#include<iostream> 主要函数:cin.cout: 使用方法:cin>>变量名: .cout<<变量名<<endl:      ...

  6. C语言再学习 -- 常用快捷键

    下面是Ubuntu 常用快捷键--记住这些会让你更加得心应手哦! 参看:Ubuntu 12.04常用快捷键--记住这些你就是高手啦! 桌面 ALT + F1: 聚焦到桌面左侧任务导航栏,可按上下键导航 ...

  7. c语言编程复制快捷键,C语言再学习 -- 常用快捷键

    下面是Ubuntu 常用快捷键--记住这些会让你更加得心应手哦! 444 桌面 ALT + F1: 聚焦到桌面左侧任务导航栏,可按上下键导航. ALT + F2: 运行命令 ALT + F4: 关闭窗 ...

  8. C语言再学习 -- 修改linux文件权限

    参看:修改linux文件权限命令 Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.(0无权限 ...

  9. C语言再学习 -- C 预处理器

    gcc/cc xxx.c  可以编译链接C源程序生成一个可执行文件 a.out 整个过程中可以划分为以下的4步流程: (1)预处理/预编译: 主要用于包含头文件的扩展,以及执行宏替换等 //加上 -E ...

最新文章

  1. WPF ListView DoubleClick
  2. maven私服-详细部署搭建笔记
  3. 对话阿里巴巴贾扬清:如何成为一名优秀的 AI 架构师?
  4. python中str函数_一文让你彻底搞懂Python中__str__和__repr__?
  5. java之socket的OOBInline和UrgentData和发送心跳包研究
  6. cocos creator 数组_CoCos Creator中的数据类型
  7. java删除换行符号_如何从Java中删除文件中的换行符?
  8. 数据增强 transform_深度学习-Pytorch框架学习之数据处理篇
  9. android smart scale
  10. 财子说丨王国斌:相信时间的力量
  11. Docker 安装 linux版
  12. python:epub文件批量转TXT
  13. BigDecimal加减乘除计算
  14. BREDR之inquiry及page
  15. gsensor方向调试【转】
  16. 无线覆盖商场微信吸粉解决方案
  17. duilib学习------网易云信combo控件
  18. Latex 调整行距
  19. 图解 Spring 循环依赖,看过之后再也不怕面试被问到了!
  20. 人生就像一场旅行,前进的过程也在不断的完善自我,现列出自己的缺点,今后用来反思自我。

热门文章

  1. 虚拟机——虚拟机的初步认识
  2. 记录一下Memcached的用法:
  3. SQL基础整理(事务)
  4. 加密 解密常用的算法
  5. 跟着鸟哥学Linux系列笔记1
  6. vmware, failed to lock the file 的解决
  7. [导入]MsAjax Lib- Array.remove 函数
  8. 1SGD、Momention原理
  9. 《一只孤独的船》莱蒙托夫
  10. vivado实现VGA