C语言编程常用头文件

合集下载

c语言头文件的写法

c语言头文件的写法

C语言的头文件常用于声明函数、变量、宏和结构体等的定义,以便在多个源文件中共享和重用这些声明。

以下是C语言头文件的一般写法:
c
#ifndef HEADER_NAME_H
#define HEADER_NAME_H
// 在这里写下头文件的内容
#endif /* HEADER_NAME_H */
头文件的命名通常使用全大写字母,可以根据需要选择有意义的名称。

头文件中应该包含以下内容:
防止多重包含:使用条件编译指令#ifndef、#define 和#endif,以避免头文件被重复包含。

函数声明:声明函数的原型,例如int add(int a, int b);。

变量声明:声明变量的外部链接性,例如extern int globalVariable;。

宏定义:定义常量、宏函数和条件编译宏等,例如#define PI 3.14159。

结构体定义:定义结构体类型,例如struct Person { char name[20]; int age; };。

请注意以下几点:
头文件中通常只包含声明,而不包含具体的实现代码。

实现代码应该在对应的源文件中编写。

头文件应该包含所需的其他头文件,以确保所有依赖关系得到满足。

在编写头文件时,应使用预处理指令#ifdef 和#ifndef 来避免重复定义和冲突。

头文件应该尽量精简和模块化,只包含与该头文件相关的声明。

在头文件中避免定义全局变量,因为头文件可能会被多个源文件包含,这样会导致变量的重复定义。

正确编写和组织头文件可以提高代码的可读性、可维护性和重用性,推荐遵循良好的编码规范和项目约定。

单片机C语言常用头文件

单片机C语言常用头文件

下 列函数注意在你调用任意内存分配程序比如.. calloc malloc 和realloc)之前必须调用 _NewHeap 来初始化堆heap int abs(int i) 返回i 的绝对值 int atoi(char *s) 转换字符串s 为整型数并返回它字符串s 起始必须是整型数形式字符否则返回0 double atof(const char *s) 转换转换字符串s 为双精度浮点数并返回它字符串s 起始必须是浮点数形式字符串 long atol(char *s) 转换字符串s 为长整型数并返回它字符串s 起始必须是长整型数形式字符否则返回0 void *calloc(size_t nelem, size_t size) 分配"nelem"个数据项的内存连续空间每个数据项的大小为size 字节并且初始化为0 如果分 配成功返回分配内存单元的首地址否则返回0 void exit(status) 终止程序运行典型的是无限循环它是担任用户main 函数的返回点 void free(void *ptr) 释放ptr 所指向的内存区 void *malloc(size_t size) 分配size 字节的存贮区如果分配成功则返回内存区地址如内存不够分配则返回0 void _NewHeap(void *start, void *end) 初始化内存分配程序的堆一个典型的调用是将符号_bss_end+1 的地址用作"start"值符号 _bss_end 定义为编译器用来存放全局变量和字符串的数据内存的结束加1 的目的是堆栈检 查函数 使用_bss_end 字节存贮为标志字节这个结束值不能被放入堆栈中 extern char _bss_end; _NewHeap(&_bss_end+1, &_bss_end + 201); // 初始化200 字节大小的堆 int rand(void) 返回一个在0 和RAND_MAX 之间的随机数 void *realloc(void *ptr, size_t size) 重新分配ptr 所指向内存区的大小为size 字节size 可比原来大或小返回指向该内存区的地 址指针

c语言头函数

c语言头函数

C语言中的头文件是包含在源代码文件中以便在编译时进行预处理的文件。

头文件通常包含函数、宏定义、结构体声明和其他重要的代码片段,以便在多个源文件中共享和重用。

一些常见的C语言头文件包括:
1. `<stdio.h>`:包含输入输出函数,如`printf` 和`scanf`。

2. `<stdlib.h>`:包含内存分配和释放函数,如`malloc` 和`free`,以及其他常用的函数。

3. `<string.h>`:包含字符串操作函数,如`strcpy`、`strlen` 和`strcmp`。

4. `<math.h>`:包含数学函数,如三角函数、指数函数等。

5. `<time.h>`:包含时间和日期相关的函数,如`time` 和`strftime`。

6. `<ctype.h>`:包含字符分类函数,如`isalpha` 和`isdigit`。

7. `<stdbool.h>`:定义了`bool` 类型和`true`、`false` 常量,用于布尔值。

8. `<stddef.h>`:定义了`NULL` 宏和一些与指针相关的类型。

这只是一小部分常用的C语言头文件,实际上还有很多其他头文件,每个头文件都提供了特定的功能。

通过包含适当的头文件,你可
以在C程序中使用相应的函数和定义。

C语言头文件大全(free)

C语言头文件大全(free)

<bitset> -- for defining a template class that administers sets of bits
<complex> -- for defining a template class that supports complex arithmetic
<deque>
-- (STL) for defining a template class that implements a deque container
<exception> -- for defining several functions that control exception handling
<fstream> -- for defining several iostreams template classes that manipulate exteral files
defined
<iostream> -- for declaring the iostreams objects that manipulate the standard streams
<istream> -- for defining the template class that performs extractions
<slist>
The Standard C++ library consists of 51 required headers.This implementation also includes
three additional headers,<hash_map>,<hash_set>,and <slist>,not required by the C++ Standard,

c语言中常用的函数和头文件

c语言中常用的函数和头文件

头文件ctype.h函数列表<>函数类别函数用途详细说明字符测试是否字母和数字isalnum是否字母isalpha是否控制字符iscntrl是否数字isdigit是否可显示字符(除空格外)isgraph是否可显示字符(包括空格)isprint是否既不是空格,又不是字母和数字的可显示字符ispunct是否空格isspace是否大写字母isupper是否16进制数字(0-9,A-F)字符isxdigit字符大小写转换函数转换为大写字母toupper转换为小写字母tolower地区化本类别的函数用于处理不同国家的语言差异。

头文件local.h函数列表函数类别函数用途详细说明地区控制地区设置setlocale数字格式约定查询国家的货币、日期、时间等的格式转换localeconv数学函数本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)头文件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信号处理该分类函数用于处理那些在程序执行过程中发生例外的情况。

CPP常用头文件及函数汇总

CPP常用头文件及函数汇总

#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地区化: 本类别的函数用于处理不同国家的语言差异。

3、C编程的各种源码文件

3、C编程的各种源码文件

3、C编程的各种源码⽂件1、C语⾔模块化编程中的头⽂件 实际开发中⼀般是将函数和变量的声明放到头⽂件,再在当前源⽂件中 #include 进来。

如果变量的值是固定的,最好使⽤宏来代替。

.c和.h⽂件都是源⽂件,除了后缀不⼀样便于区分外和管理外,其他的都是相同的,在.c中编写的代码同样也可以写在.h中,包括函数定义、变量定义、预处理等。

但是,.h 和 .c 在项⽬中承担的⾓⾊不⼀样:.c ⽂件主要负责实现,也就是定义函数和变量;.h ⽂件主要负责声明(包括变量声明和函数声明)、宏定义、类型定义等。

这些不是C语法规定的内容,⽽是约定成俗的规范,或者说是长期形成的事实标准。

根据这份规范,头⽂件可以包含如下的内容:可以声明函数,但不可以定义函数。

可以声明变量,但不可以定义变量。

可以定义宏,包括带参的宏和不带参的宏。

结构体的定义、⾃定义数据类型⼀般也放在头⽂件中。

在项⽬开发中,我们可以将⼀组相关的变量和函数定义在⼀个 .c ⽂件中,并⽤⼀个同名的 .h ⽂件(头⽂件)进⾏声明,其他模块如果需要使⽤某个变量或函数,那么引⼊这个头⽂件就可以。

这样做的另外⼀个好处是可以保护版权,我们在发布相关模块之前,可以将它们都编译成⽬标⽂件,或者打包成静态库,只要向⽤户提供头⽂件,⽤户就可以将这些模块链接到⾃⼰的程序中。

2、C语⾔标准库以及标准头⽂件 源⽂件通过编译可以⽣成⽬标⽂件(例如 GCC 下的 .o 和 Visual Studio 下的 .obj),并提供⼀个头⽂件向外暴露接⼝,除了保护版权,还可以将散乱的⽂件打包,便于发布和使⽤。

实际上我们⼀般不直接向⽤户提供⽬标⽂件,⽽是将多个相关的⽬标⽂件打包成⼀个静态链接库(Static Link Library),例如 Linux 下的 .a 和 Windows 下的 .lib。

打包静态库的过程很容易理解,就是将多个⽬标⽂件捆绑在⼀起形成⼀个新的⽂件,然后再加上⼀些索引,⽅便链接器找到,这和压缩⽂件的过程⾮常类似。

C语言头文件大全

C语言头文件大全

标准C语言头文件ISO C标准定义的头文件(24项)<assert.h> 验证程序断言<complex.h> 支持复数算术运算<ctype.h> 字符类型<errno.h> 出错码<fenv.h> 浮点环境<float.h> 浮点常量<inttypes.h> 整型格式转换<iso646.h> 替代关系操作符宏<limits.h> 实现常量<locale.h> 局部类别<math.h> 数学常量<setjmp.h> 非局部goto<signal.h> 信号<stdarg.h> 可变参数表<stdbool.h> 布尔类型和值<stddef.h> 标准定义<stdint.h> 整型<stdio.h> 标准I/O库<stdlib.h> 实用程序库函数<string.h> 字符串操作<tgmath.h> 通用类型数学宏<time.h> 时间和日期<wchar.h> 宽字符支持<wctype.h> 宽字符分类和映射支持POSIX标准定义的必须的头文件(26项)<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扩展头文件(26项)<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标准定义的可选头文件(8项)<aio.h> 异步I/O <mqueue.h> 消息队列<pthread.h> 线程<sched.h> 执行调度<semaphore.h> 信号量<spawn.h> 实时spawn接口<stropts.h> XSI STREAMS接口<trace.h> 时间跟踪标准 C++ 语言头文件(54个其中16个用于构建STL,3个为附加非必须)<algorithm>STL通用算法<bitset> STL位集容器<cassert> 用于在程序运行时执行断言<cctype> 字符处理<cerrno> 错误码<cfloat> 用于测试浮点类型属性<ciso646> ISO646变体字符集<climits> 测试整数类型属性<clocale> 本地化函数<cmath> 数学函数<complex>复数类<csetjmp> 执行非内部的goto语句<csignal> 信号<cstdarg> 访问参数数量变化的函数<cstddef> 用于定义实用的类型和宏<cstdio> 输入/输出<cstdlib> 杂项函数及内存分配<cstring> 字符串<ctime> 时间<cwchar> 宽字符处理及输入/输出<cwctype> 宽字符分类<deque> STL双端队列容器<exception> 异常处理类<fstream> 文件流<functional> STL函数对象<iomanip> 参数化输入/输出<ios>基本输入/输出支持<iosfwd> 输入/输出前置声明<iostream> 数据流输入/输出<istream> 基本输入流<iterator> 遍历序列的类<limits> 各种数据类型最值常量<list>STL线性列表容器<locale> 国际化支持<map> STL映射容器<memory> 专用内存分配器<new> 基本内存分配和释放<numeric> 通用的数字操作<ostream> 基本输出流<queue> STL 队列容器<set> STL 集合容器<sstream> 基于字符串的流<stack> STL 堆栈容器<stdexcept> 标准异常类<streambuf> iostream 的缓冲区类<string> 字符串类<strstream> 非内存字符序列的流类<typeinfo> 运行时类型标识<utility> STL 通用模板类<valarray> 支持值数组的类和模版类<vector> STL 动态数组容器标准C++附加的头文件(3个)非必须<hash_map> <hash_set> <slist>The Standard C++ library consists of 51 required headers.This implementation also includes three additional headers,<hash_map>,<hash_set>,and <slist>,not required by the C++ Standard,for a total of 54 headers.Of these 54 headers,16 constitute the Standard Template Library,or STL.These are indicated below with the notation<algorithm> -- (STL) for defining numerous templates that implement useful algorithms<bitset> -- for defining a template class that administers sets of bits<complex> -- for defining a template class that supports complex arithmetic<deque> -- (STL) for defining a template class that implements a deque container<exception> -- for defining several functions that control exception handling<fstream> -- for defining several iostreams template classes that manipulate exteral files<functional>-- (STL) for defining several templates that help construct predicates for the templates defined in <algorithm> and <numeric><hash_map> -- (STL) for defining template classes that implement hashed associative containersthat map keys to values<hash_set> -- (STL) for defining template classes that implement hashed associative containers<iomanip> -- for declaring several iostreams manipulators that take an argument<ios> -- for defining the template class that serves as the base for many iostreams classes<iosfwd> -- for declaring several iostreams template classes before they are necessarilydefined<iostream> -- for declaring the iostreams objects that manipulate the standard streams<istream> -- for defining the template class that performs extractions<iterator> -- (STL) for defining several templates that help define and manipulate iterators<limits> -- for testing numeric type properties<list>-- (STL) for defining a template class that implements a doubly linked list container<locale> -- for defining several classes and templates that controllocale-specific behavior, as in the iostreams classes<map>-- (STL) for defining template classes that implement associative containers thatmap keys to values<memory>-- (STL) for defining several templates that allocate and free storage for variouscontainer classes<new> -- for declaring several functions that allocate and free storage<numeric>-- (STL) for defining several templates that implement useful numeric functions<ostream> -- for defining the template class that performs insertions<queue> -- (STL) for defining a template class that implements a queue container<set>-- (STL) for defining template classes that implement associative containers<slist>-- (STL) for defining a template class that implements a singly linked list container<sstream> -- for defining several iostreams template classes that manipulate string containers<stack> -- (STL) for defining a template class that implements a stack container<stdexcept> -- for defining several classes useful for reporting exceptions<streambuf> -- for defining template classes that buffer iostreams operations<string> -- for defining a template class that implements a string container<strstream> -- for defining several iostreams classes that manipulate in-memory character sequences<typeinfo> -- for defining class type_info, the result of the typeid operator<utility>-- (STL) for defining several templates of general utility<valarray> -- for defining several classes and template classes that support value-oriented arrays<vector>-- (STL) for defining a template class that implements a vector container新的C标准库<cassert> -- for enforcing assertions when functions execute<cctype> -- for classifying characters<cerrno> -- for testing error codes reported by library functions<cfloat> -- for testing floating-point type properties<ciso646> -- for programming in ISO 646 variant character sets<climits> -- for testing integer type properties<clocale> -- for adapting to different cultural conventions<cmath> -- for computing common mathematical functions<csetjmp> -- for executing nonlocal goto statements<csignal> -- for controlling various exceptional conditions<cstdarg> -- for accessing a varying number of arguments<cstddef> -- for defining several useful types and macros<cstdio> -- for performing input and output<cstdlib> -- for performing a variety of operations<cstring> -- for manipulating several kinds of strings<ctime> -- for converting between various time and date formats<cwchar> -- for manipulating wide streams and several kinds of strings<cwctype> -- for classifying wide characters旧的C标准库<assert.h> -- for enforcing assertions when functions execute<ctype.h> -- for classifying characters<errno.h> -- for testing error codes reported by library functions<float.h> -- for testing floating-point type properties<iso646.h> -- for programming in ISO 646 variant character sets<limits.h> -- for testing integer type properties<locale.h> -- for adapting to different cultural conventions<math.h> -- for computing common mathematical functions<setjmp.h> -- for executing nonlocal goto statements<signal.h> -- for controlling various exceptional conditions<stdarg.h> -- for accessing a varying number of arguments<stddef.h> -- for defining several useful types and macros<stdio.h> -- for performing input and output<stdlib.h> -- for performing a variety of operations<string.h> -- for manipulating several kinds of strings<time.h> -- for converting between various time and date formats<wchar.h> -- for manipulating wide streams and several kinds of strings<wctype.h> -- for classifying wide charactersFinally, in this implementation, the Standard C++ library also includes several headers for compatibility with traditional C++ libraries:<fstream.h> -- for defining several iostreams template classes that manipulate exteral files <iomanip.h> -- for declaring several iostreams manipulators that take an argument<iostream.h> -- for declaring the iostreams objects that manipulate the standard streams <new.h> -- for declaring several functions that allocate and free storage<stl.h> -- for declaring several template classes that aid migration from older versions of the Standard Template Library。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言编程常用头文件
C语言常用头文件总结
序号库类别头文件
1 字符处理ctype.h
2 地区化local.h
3 数学函数math.h
4 信号处理signal.h
5 输入输出stdio.h
6 实用工具程序stdlib.h
7 字符串处理string.h
字符处理函数
本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换头文件ctype.h
函数列表&lt;&gt;
函数类别函数用途详细说明
字符测试是否字母和数字isalnum
是否字母isalpha
是否控制字符iscntrl
是否数字isdigit
是否可显示字符(除空格外)isgraph
是否可显示字符(包括空格)isprint
是否既不是空格,又不是字母和数字的可显示字符ispunct
是否空格isspace
是否大写字母isupper
是否16进制数字(0-9,A-F)字符isxdigit
字符大小写转换函数转换为大写字母toupper
转换为小写字母tolower
地区化
本类别的函数用于处理不同国家的语言差异。

头文件local.h
函数列表
函数类别函数用途详细说明
地区控制地区设置setlocale
数字格式约定查询国家的货币、日期、时间等的格式转换localeconv
数学函数
本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)
头文件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
函数库未来的发展方向
本部分用于说明各类别函数库在将来如何发展。

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

相关文档
最新文档