问题标题: 请问有哪些头文件?谢谢!

0
1
已解决
刘振波
刘振波
初级光能
初级光能

请问有哪些头文件?越多越好!谢谢!

刘振波在2018-03-15 12:29:48追加了内容

请问有哪些头文件?谢谢!

有没有万能头文件


0
已采纳
邵逸儒
邵逸儒
中级天翼
中级天翼

标准c++库包含以下内容:

<algorithm>,<bitset>,<complex>,<deque>,<exception>,<fstream>,<functionl>,<iomanip>,<ios>,<iosfwd>,<iostream>,<isteam>,<iterator>,<limits>,<list>,<locale>,<map>,<memory>,<numeric>,<ostream>,<queue>,<set>,<sstream>,<stack>,<stdxcept>,<streambuf>,<strinig>,<strstream>,<utility>,<valarray>,<vactor>,<cassert>,<cctype>,<cerron>,<cfloat>,<ciso646>,<climits>,<clocale>,<cmath>,<csetjmp>,<csignal>,<cstdrag>,<cstddef>,<cstdio>,<cstdlibn>,<cstring>,<ctime>,<cwchar>,<iso646.h>和<cwchar.h>

标准c++库的详细消息均在其对应的头文件进行了说明。主要标准c++库头文件如下所示。其中13项为标准模板库(STL),在其说明文字的前面标有(STL)的为标准模板库。

<algorithm>---(STL)用于定义实现常用、实用算法的大量模板



<bitset>----- 用于定义官位位集合的模板类



<cassert>-----用于在程序执行时执行断言



<cctype>-----用于对字符进行分类



<cerrno>-----用于测试有库函数提交的错误代码



<cfloat>------用于测试浮点类型属性



<cios646>----用于在ISO646变体字符集中编程



<climits>-----用于测试整数类型属性



<clocale>-----用于使程序适应不同的文化风俗



<cmath>———用于计算常用的数学函数



<complex>-----用于定义支持复杂算法的模板类



<csetjmp>-----用于执行非局部的goto语句



<csignal>------用于控制各种异常情况



<cstdrag>-----用于访问参数数量文化的函数



<cstdarg>-----用于访问参数数量变化的函数



<cstddef>----用于定义实用的类型和宏



<cstdio>-----用于执行输入和输出



<cstdlib>----用于执行同一操作的不同版本



<string>-----用于处理几种不同的字符串类型



<ctime>------用于在几种不同的时间和日期格式间进行转换



<cwchar>----用于处理宽流(wide stream)和字符串



<cwctype>---用于对宽字符(wide character是)分类



<deque>---(STL)用于定义实现双向队列容器的模板类



<exception>---用于定义控制异常处理的几个函数



<fstream>-----用于定义处理外部文件的几个iostream模板类



<functional>-----(STL)用于定义几个模板,该模板将帮助在<algorithm>和<numeric>中定义的                  模板构造谓词



<iomapip>---- 用于声明一个带有参数的iostreams控制器



<ios>-----用于定义用作大量iostreams类的基类的模板类



<iosfwd>-----用于定义iostreams模板类(在需要定义之前)



<iostream>---用于声明处理标准流的iostreams对象



<istream>---用于定义执行析取操作的模板类



<iterator>----(STL)用于定义帮助定义和管理迭代器的模板



<limits>---用于测试数字类属性



<list>---(STL)用于定义实现list容器的模板类



<locale>----用于定义在iostreams类中控制与特定位置相关的行为的类和模板



<map>------(STL)用于定义实现关联容器的模板类



<memoery>-----(STL)用于定义对不同容器分配和释放内存的模板



<numeric>-----(STL)用于定义实现实用数字函数的模板



<ostream>----用于定义管理字符串容器的iostreamas模板类



<queque>----(STL)用于实现队列容器的模板类



<set>-----(STL)用于定义实现只有唯一元素的关联容器的模板类



<sstream>----用于定义管理字符串容器的iostreams模板类



<stack>-----(STL)用于定义实现堆栈容器的模板类



<stdexcept>----用于定义提交异常的类



<streambuf>----用于定义为iostreams操作分配缓冲区的模板类



<string>------用于定义是实现字符串容器的模板类



<strstream>-----用于定义处理非内存(in-memory)字符系列的iostreams类



<utility>-----(STL)用于定义通用工具的模板



<valarray>----用于定义支持值(value-oriented)数组的类和模板类



<vector>----(STL)用于定义实现向量容器的模板类

标准c++库还包括18个标准C库中的头文件,但其中有些变化。我们暂时不讨论,这些头文件为:




<assert.h>---用于在程序运行时执行断言



<ctype.h>----用于对字符分类



<errno.h>----用于测试用库函数提交的错误代码



<float.h>----用于测试浮点类型属性



<ios646.h>-----用于在IOS646变体字符集中编程



<limits.h>-----用于测试整数类型属性



<locale.h>-----用于适应不同的文化习俗



<math.h>----用于计算常见的数学函数



<setjmp.h>----用于执行非局部的goto语句



<signal.h>----用于控制各种异常情况



<stdrag.h>-----用于访问参数数量变化的函数



<stddef.h>-----用于定义类型和宏



<stdio.h>------用于执行输入和输出



<stdlib.h>------用于执行各种操作



<string.h>-----用于处理字符串



<time.h>-------用于在不同的时间和日期格式之间转换



<wcchar.h>-----用于处理宽流(wide stream)和字符类



<wctype.h>-----用于对宽字符(wide character)分类

万能头

#include<bits/stdc++.h>
1
陆麟瑞
陆麟瑞
资深天翼
资深天翼

#include<assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <fstream.h>   //文件输入/输出
#include <iomanip.h>   //参数化输入/输出
#include<iostream.h>   //数据流输入/输出
#include<limits.h>    //定义各种数据类型最值常量
#include<locale.h>    //定义本地化函数
#include <math.h>     //定义数学函数
#include <stdio.h>    //定义输入/输出函数
#include<stdlib.h>    //定义杂项函数及内存分配函数
#include <string.h>    //字符串处理
#include<strstrea.h>   //基于数组的输入/输出
#include<time.h>     //定义关于时间的函数
#include <wchar.h>    //宽字符处理及输入/输出
#include <wctype.h>    //宽字符分类

//////////////////////////////////////////////////////////////////////////

标准 C++ (同上的不再注释)

#include <algorithm>    //STL通用算法
#include <bitset>     //STL位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>     //复数类
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>      //STL双端队列容器
#include <exception>    //异常处理类
#include <fstream>
#include <functional>   //STL定义运算函数(代替运算符)
#include <limits>
#include <list>      //STL线性列表容器
#include <map>       //STL 映射容器
#include <iomanip>
#include <ios>      //基本输入/输出支持
#include<iosfwd>     //输入/输出系统使用的前置声明
#include <iostream>
#include <istream>     //基本输入流
#include <ostream>     //基本输出流
#include <queue>      //STL队列容器
#include <set>       //STL 集合容器
#include <sstream>    //基于字符串的流
#include <stack>      //STL堆栈容器    
#include <stdexcept>    //标准异常类
#include <streambuf>   //底层输入/输出支持
#include <string>     //字符串类
#include <utility>     //STL通用模板类
#include <vector>     //STL动态数组容器
#include <cwchar>
#include <cwctype>

0
王子轩
王子轩
新手光能
新手光能
#include <algorithm>   
#include <bitset>    
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>   
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>   
#include <exception> 
#include <fstream>
#include <functional> 
#include <limits>
#include <list>     
#include <map>      
#include <iomanip>
#include <ios>       
#include <iosfwd>   
#include <iostream>
#include <istream>  
#include <ostream>  
#include <queue>   
#include <set>    
#include <sstream>    
#include <stack>         
#include <stdexcept>   
#include <streambuf>  
#include <string>    
#include <utility>   
#include <vector>   
#include <cwchar>
#include <cwctype>

就这些吧

0
梁锦程
梁锦程
高级光能
高级光能
C、传统 C++

#include <assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <fstream.h>    //文件输入/输出
#include <iomanip.h>    //参数化输入/输出
#include <iostream.h>   //数据流输入/输出
#include <limits.h>    //定义各种数据类型最值常量
#include <locale.h>    //定义本地化函数
#include <math.h>     //定义数学函数
#include <stdio.h>     //定义输入/输出函数
#include <stdlib.h>    //定义杂项函数及内存分配函数
#include <string.h>    //字符串处理
#include <strstrea.h>   //基于数组的输入/输出
#include <time.h>     //定义关于时间的函数
#include <wchar.h>     //宽字符处理及输入/输出
#include <wctype.h>    //宽字符分类

//////////////////////////////////////////////////////////////////////////

标准 C++ (同上的不再注释)

#include <algorithm>    //STL 通用算法
#include <bitset>     //STL 位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>     //复数类
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>      //STL 双端队列容器
#include <exception>    //异常处理类
#include <fstream>
#include <functional>   //STL 定义运算函数(代替运算符)
#include <limits>
#include <list>      //STL 线性列表容器
#include <map>       //STL 映射容器
#include <iomanip>
#include <ios>       //基本输入/输出支持
#include <iosfwd>     //输入/输出系统使用的前置声明
#include <iostream>
#include <istream>     //基本输入流
#include <ostream>     //基本输出流
#include <queue>      //STL 队列容器
#include <set>       //STL 集合容器
#include <sstream>     //基于字符串的流
#include <stack>      //STL 堆栈容器    
#include <stdexcept>    //标准异常类
#include <streambuf>    //底层输入/输出支持
#include <string>     //字符串类
#include <utility>     //STL 通用模板类
#include <vector>     //STL 动态数组容器
#include <cwchar>
#include <cwctype>

using namespace std;

//////////////////////////////////////////////////////////////////////////

C99 增加

#include <complex.h>   //复数处理
#include <fenv.h>    //浮点环境
#include <inttypes.h>  //整数格式转换
#include <stdbool.h>   //布尔环境
#include <stdint.h>   //整型环境
#include <tgmath.h>   //通用类型数学宏

C头文件大全

分类函数,所在函数库为ctype.h

int isalpha(int ch)  若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0

int isalnum(int ch)  若ch是字母('A'-'Z','a'-'z')或数字('0'-'9')

                     返回非0值,否则返回0

int isascii(int ch)  若ch是字符(ASCII码中的0-127)返回非0值,否则返回0

int iscntrl(int ch)  若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F)

                     返回非0值,否则返回0

int isdigit(int ch)  若ch是数字('0'-'9')返回非0值,否则返回0

int isgraph(int ch)  若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0

int islower(int ch)  若ch是小写字母('a'-'z')返回非0值,否则返回0

int isprint(int ch)  若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0

int ispunct(int ch)  若ch是标点字符(0x00-0x1F)返回非0值,否则返回0

int isspace(int ch)  若ch是空格(' '),水平制表符('\t'),回车符('\r'),

                     走纸换行('\f'),垂直制表符('\v'),换行符('\n')

                     返回非0值,否则返回0

int isupper(int ch)  若ch是大写字母('A'-'Z')返回非0值,否则返回0

int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值,

                     否则返回0

int tolower(int ch)  若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')

int toupper(int ch)  若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')

数学函数,所在函数库为math.h、stdlib.h、string.h、float.h

int      abs(int i)                    返回整型参数i的绝对值

double  cabs(struct complex znum)      返回复数znum的绝对值

double  fabs(double x)                 返回双精度参数x的绝对值

long    labs(long n)                   返回长整型参数n的绝对值

double   exp(double x)                 返回指数函数ex的值

double frexp(double value,int *eptr)   返回value=x*2n中x的值,n存贮在eptr中

double ldexp(double value,int exp);    返回value*2exp的值

double   log(double x)                 返回logex的值

double log10(double x)                 返回log10x的值

double   pow(double x,double y)        返回xy的值

double pow10(int p)                    返回10p的值

double  sqrt(double x)                 返回+√x的值

double  acos(double x)                 返回x的反余弦cos-1(x)值,x为弧度

double  asin(double x)                 返回x的反正弦sin-1(x)值,x为弧度

double  atan(double x)                 返回x的反正切tan-1(x)值,x为弧度

double atan2(double y,double x)        返回y/x的反正切tan-1(x)值,y的x为弧度

double   cos(double x)                 返回x的余弦cos(x)值,x为弧度

double   sin(double x)                 返回x的正弦sin(x)值,x为弧度

double   tan(double x)                 返回x的正切tan(x)值,x为弧度

double  cosh(double x)                 返回x的双曲余弦cosh(x)值,x为弧度

double  sinh(double x)                 返回x的双曲正弦sinh(x)值,x为弧度

double  tanh(double x)                 返回x的双曲正切tanh(x)值,x为弧度

double hypot(double x,double y)        返回直角三角形斜边的长度(z),

                                       x和y为直角边的长度,z2=x2+y2

double  ceil(double x)                 返回不小于x的最小整数

double floor(double x)                 返回不大于x的最大整数

void   srand(unsigned seed)            初始化随机数发生器

int     rand()                         产生一个随机数并返回这个数

double  poly(double x,int n,double c[])从参数产生一个多项式

double  modf(double value,double *iptr)将双精度数value分解成尾数和阶

double  fmod(double x,double y)        返回x/y的余数

double frexp(double value,int *eptr)   将双精度数value分成尾数和阶

double  atof(char *nptr)               将字符串nptr转换成浮点数并返回这个浮点数

double  atoi(char *nptr)               将字符串nptr转换成整数并返回这个整数

double  atol(char *nptr)               将字符串nptr转换成长整数并返回这个整数

char   *ecvt(double value,int ndigit,int *decpt,int *sign)

         将浮点数value转换成字符串并返回该字符串

char   *fcvt(double value,int ndigit,int *decpt,int *sign)

         将浮点数value转换成字符串并返回该字符串

char   *gcvt(double value,int ndigit,char *buf)

         将数value转换成字符串并存于buf中,并返回buf的指针

char  *ultoa(unsigned long value,char *string,int radix)

         将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数

char   *ltoa(long value,char *string,int radix)

         将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数

char   *itoa(int value,char *string,int radix)

         将整数value转换成字符串存入string,radix为转换时所用基数

double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0

int    atoi(char *nptr) 将字符串nptr转换成整型数,  并返回这个数,错误返回0

long   atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0

double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,

long   strtol(char *str,char **endptr,int base)将字符串str转换成长整型数,

                                               并返回这个数,

int          matherr(struct exception *e)

              用户修改数学错误返回信息函数(没有必要使用)

double       _matherr(_mexcep why,char *fun,double *arg1p,

                      double *arg2p,double retval)

                用户修改数学错误返回信息函数(没有必要使用)

unsigned int _clear87()   清除浮点状态字并返回原来的浮点状态

void         _fpreset()   重新初使化浮点数学程序包

unsigned int _status87()  返回浮点状态字

目录函数,所在函数库为dir.h、dos.h

int     chdir(char *path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成

         功返回0

int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功

     返回0

     pathname为指定的目录名和文件名,如"C:\\WPS\\TXT"

     ffblk为指定的保存文件信息的一个结构,定义如下:

    ┏━━━━━━━━━━━━━━━━━━┓

    ┃struct ffblk                        ┃

    ┃{                                   ┃

    ┃ char ff_reserved[21]; /*DOS保留字*/┃

    ┃ char ff_attrib;       /*文件属性*/ ┃

    ┃ int  ff_ftime;        /*文件时间*/ ┃

    ┃ int  ff_fdate;        /*文件日期*/ ┃

    ┃ long ff_fsize;        /*文件长度*/ ┃

    ┃ char ff_name[13];     /*文件名*/   ┃

    ┃}                                   ┃

    ┗━━━━━━━━━━━━━━━━━━┛

     attrib为文件属性,由以下字符代表

    ┏━━━━━━━━━┳━━━━━━━━┓

    ┃FA_RDONLY 只读文件┃FA_LABEL  卷标号┃

    ┃FA_HIDDEN 隐藏文件┃FA_DIREC  目录  ┃

    ┃FA_SYSTEM 系统文件┃FA_ARCH   档案  ┃

    ┗━━━━━━━━━┻━━━━━━━━┛

    例:

    struct ffblk ff;

    findfirst("*.wps",&ff,FA_RDONLY);

int   findnext(struct ffblk *ffblk)      取匹配finddirst的文件,成功返回0

void  fumerge(char *path,char *drive,char *dir,char *name,char *ext)

       此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),

       文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名

       存与path中.

int   fnsplit(char *path,char *drive,char *dir,char *name,char *ext)

       此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),

       文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.

int   getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称

        drive 指定的驱动器(0=当前,1=A,2=B,3=C等)

        direc 保存指定驱动器当前工作路径的变量      成功返回0

char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字

      节长为为止.错误返回NULL

int   getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等)

int   setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等),

       返回可使用驱动器总数

int   mkdir(char *pathname)  建立一个新的目录pathname,成功返回0

int   rmdir(char *pathname)  删除一个目录pathname,成功返回0

char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中

char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径,

      ,此函数使用DOS的PATH变量,未找到文件返回NULL

进程函数,所在函数库为stdlib.h、process.h

void  abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,

        并异常终止程序。无返回值

int   exec…装入和运行其它程序

int   execl(  char *pathname,char *arg0,char *arg1,…,char *argn,NULL)

int   execle( char *pathname,char *arg0,char *arg1,…,

              char *argn,NULL,char *envp[])

int   execlp( char *pathname,char *arg0,char *arg1,…,NULL)

int   execlpe(char *pathname,char *arg0,char *arg1,…,NULL,char *envp[])

int   execv(  char *pathname,char *argv[])

int   execve( char *pathname,char *argv[],char *envp[])

int   execvp( char *pathname,char *argv[])

int   execvpe(char *pathname,char *argv[],char *envp[])

         exec函数族装入并运行程序pathname,并将参数

          arg0(arg1,arg2,argv[],envp[])传递给子程序,出错返回-1

       在exec函数族中,后缀l、v、p、e添加到exec后,

       所指定的函数将具有某种操作能力

      有后缀  p时,函数可以利用DOS的PATH变量查找子程序文件。

              l时,函数中被传递的参数个数固定。

              v时,函数中被传递的参数个数不固定。

              e时,函数传递指定参数envp,允许改变子进程的环境,

                   无后缀e时,子进程使用当前程序的环境。

void  _exit(int status)终止当前程序,但不清理现场

void  exit(int status) 终止当前程序,关闭所有文件,写缓冲区的输出(等待输出),

                       并调用任何寄存器的"出口函数",无返回值

int   spawn…运行子程序

int   spawnl(  int mode,char *pathname,char *arg0,char *arg1,…,

               char *argn,NULL)

int   spawnle( int mode,char *pathname,char *arg0,char *arg1,…,

               char *argn,NULL,char *envp[])

int   spawnlp( int mode,char *pathname,char *arg0,char *arg1,…,

               char *argn,NULL)

int   spawnlpe(int mode,char *pathname,char *arg0,char *arg1,…,

               char *argn,NULL,char *envp[])

int   spawnv(  int mode,char *pathname,char *argv[])

int   spawnve( int mode,char *pathname,char *argv[],char *envp[])

int   spawnvp( int mode,char *pathname,char *argv[])

int   spawnvpe(int mode,char *pathname,char *argv[],char *envp[])

       spawn函数族在mode模式下运行子程序pathname,并将参数

        arg0(arg1,arg2,argv[],envp[])传递给子程序.出错返回-1

       mode为运行模式

        mode为 P_WAIT   表示在子程序运行完后返回本程序

               P_NOWAIT 表示在子程序运行时同时运行本程序(不可用)

               P_OVERLAY表示在本程序退出后运行子程序

        在spawn函数族中,后缀l、v、p、e添加到spawn后,

        所指定的函数将具有某种操作能力

        有后缀 p时, 函数利用DOS的PATH查找子程序文件

               l时, 函数传递的参数个数固定.

               v时, 函数传递的参数个数不固定.

               e时, 指定参数envp可以传递给子程序,允许改变子程序运行环境.

                  当无后缀e时,子程序使用本程序的环境.

int   system(char *command) 将MSDOS命令command传递给DOS执行

转换子程序,函数库为math.h、stdlib.h、ctype.h、float.h

char   *ecvt(double value,int ndigit,int *decpt,int *sign)

         将浮点数value转换成字符串并返回该字符串

char   *fcvt(double value,int ndigit,int *decpt,int *sign)

         将浮点数value转换成字符串并返回该字符串

char   *gcvt(double value,int ndigit,char *buf)

         将数value转换成字符串并存于buf中,并返回buf的指针

char  *ultoa(unsigned long value,char *string,int radix)

         将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数

char   *ltoa(long value,char *string,int radix)

         将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数

char   *itoa(int value,char *string,int radix)

         将整数value转换成字符串存入string,radix为转换时所用基数

double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0

int    atoi(char *nptr) 将字符串nptr转换成整型数,  并返回这个数,错误返回0

long   atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0

double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,

long   strtol(char *str,char **endptr,int base)将字符串str转换成长整型数,

                                               并返回这个数,

int    toascii(int c)   返回c相应的ASCII

int    tolower(int ch)  若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')

int   _tolower(int ch)  返回ch相应的小写字母('a'-'z')

int    toupper(int ch)  若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')

int   _toupper(int ch)  返回ch相应的大写字母('A'-'Z')

诊断函数,所在函数库为assert.h、math.h

void   assert(int test) 一个扩展成if语句那样的宏,如果test测试失败,

        就显示一个信息并异常终止程序,无返回值

void   perror(char *string) 本函数将显示最近一次的错误信息,格式如下:

        字符串string:错误信息

char   *strerror(char *str) 本函数返回最近一次的错误信息,格式如下:

        字符串str:错误信息

int    matherr(struct exception *e)

        用户修改数学错误返回信息函数(没有必要使用)

double _matherr(_mexcep why,char *fun,double *arg1p,

                double *arg2p,double retval)

        用户修改数学错误返回信息函数(没有必要使用)

输入输出子程序,函数库为io.h、conio.h、stat.h、dos.h、stdio.h、signal.h

int   kbhit()    本函数返回最近所敲的按键

int   fgetchar() 从控制台(键盘)读一个字符,显示在屏幕上

int   getch()    从控制台(键盘)读一个字符,不显示在屏幕上

int   putch()    向控制台(键盘)写一个字符

int   getchar()  从控制台(键盘)读一个字符,显示在屏幕上

int   putchar()  向控制台(键盘)写一个字符

int   getche()   从控制台(键盘)读一个字符,显示在屏幕上

int   ungetch(int c) 把字符c退回给控制台(键盘)

char *cgets(char *string) 从控制台(键盘)读入字符串存于string中

int   scanf(char *format[,argument…])从控制台读入一个字符串,分别对各个参数进行

       赋值,使用BIOS进行输出

int   vscanf(char *format,Valist param)从控制台读入一个字符串,分别对各个参数进行

       赋值,使用BIOS进行输出,参数从Valist param中取得

int   cscanf(char *format[,argument…])从控制台读入一个字符串,分别对各个参数进行

       赋值,直接对控制台作操作,比如显示器在显示时字符时即为直接写频方式显示

int   sscanf(char *string,char *format[,argument,…])通过字符串string,分别对各个

       参数进行赋值

int   vsscanf(char *string,char *format,Vlist param)通过字符串string,分别对各个

       参数进行赋值,参数从Vlist param中取得

int   puts(char *string)  发关一个字符串string给控制台(显示器),

       使用BIOS进行输出

void  cputs(char *string) 发送一个字符串string给控制台(显示器),

       直接对控制台作操作,比如显示器即为直接写频方式显示

int   printf(char *format[,argument,…]) 发送格式化字符串输出给控制台(显示器)

       使用BIOS进行输出

int   vprintf(char *format,Valist param) 发送格式化字符串输出给控制台(显示器)

       使用BIOS进行输出,参数从Valist param中取得

int   cprintf(char *format[,argument,…]) 发送格式化字符串输出给控制台(显示器),

       直接对控制台作操作,比如显示器即为直接写频方式显示

int   vcprintf(char *format,Valist param)发送格式化字符串输出给控制台(显示器),

       直接对控制台作操作,比如显示器即为直接写频方式显示,

       参数从Valist param中取得

int   sprintf(char *string,char *format[,argument,…])

        将字符串string的内容重新写为格式化后的字符串

int   vsprintf(char *string,char *format,Valist param)

        将字符串string的内容重新写为格式化后的字符串,参数从Valist param中取得

int   rename(char *oldname,char *newname)将文件oldname的名称改为newname

int   ioctl(int handle,int cmd[,int *argdx,int argcx])

还有很多 ,由于字数上限了,就发这么多吧!
0
李颂宥
李颂宥
初级光能
初级光能

C 标准库 - <assert.h>
简介
C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。

已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:

#define assert(ignore) ((void)0)
库宏
下面列出了头文件 assert.h 中定义的唯一的函数:

序号    函数 & 描述
1    void assert(int expression)
这实际上是一个宏,不是一个函数,可用于在 C 程序中添加诊断。
C 标准库 - <ctype.h>
简介
C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和映射字符。

这些函数接受 int 作为参数,它的值必须是 EOF 或表示为一个无符号字符。

如果参数 c 满足描述的条件,则这些函数返回非零(true)。如果参数 c 不满足描述的条件,则这些函数返回零。

库函数
下面列出了头文件 ctype.h 中定义的函数:

序号    函数 & 描述
1    int isalnum(int c)
该函数检查所传的字符是否是字母和数字。
2    int isalpha(int c)
该函数检查所传的字符是否是字母。
3    int iscntrl(int c)
该函数检查所传的字符是否是控制字符。
4    int isdigit(int c)
该函数检查所传的字符是否是十进制数字。
5    int isgraph(int c)
该函数检查所传的字符是否有图形表示法。
6    int islower(int c)
该函数检查所传的字符是否是小写字母。
7    int isprint(int c)
该函数检查所传的字符是否是可打印的。
8    int ispunct(int c)
该函数检查所传的字符是否是标点符号字符。
9    int isspace(int c)
该函数检查所传的字符是否是空白字符。
10    int isupper(int c)
该函数检查所传的字符是否是大写字母。
11    int isxdigit(int c)
该函数检查所传的字符是否是十六进制数字。
标准库还包含了两个转换函数,它们接受并返回一个 "int"

序号    函数 & 描述
1    int tolower(int c)
该函数把大写字母转换为小写字母。
2    int toupper(int c)
该函数把小写字母转换为大写字母。
字符类
序号    字符类 & 描述
1    数字
完整的数字集合 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
2    十六进制数字
集合 { 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f }
3    小写字母
集合 { a b c d e f g h i j k l m n o p q r s t u v w x y z }
4    大写字母
集合 {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z }
5    字母
小写字母和大写字母的集合
6    字母数字字符
数字、小写字母和大写字母的集合
7    标点符号字符
集合 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
8    图形字符
字母数字字符和标点符号字符的集合
9    空格字符
制表符、换行符、垂直制表符、换页符、回车符、空格符的集合。
10    可打印字符
字母数字字符、标点符号字符和空格字符的集合。
11    控制字符
在 ASCII 编码中,这些字符的八进制代码是从 000 到 037,以及 177(DEL)。
12    空白字符
包括空格符和制表符。
13    字母字符
小写字母和大写字母的集合。
C 标准库 - <errno.h>
简介
C 标准库的 errno.h 头文件定义了整数变量 errno,它是通过系统调用设置的,在错误事件中的某些库函数表明了什么发生了错误。该宏扩展为类型为 int 的可更改的左值,因此它可以被一个程序读取和修改。

在程序启动时,errno 设置为零,C 标准库中的特定函数修改它的值为一些非零值以表示某些类型的错误。您也可以在适当的时候修改它的值或重置为零。

errno.h 头文件也顶了以一系列表示不同错误代码的宏,这些宏应扩展为类型为 int 的整数常量表达式。

库宏
下面列出了头文件 errno.h 中定义的宏:

序号    宏 & 描述
1    extern int errno
这是通过系统调用设置的宏,在错误事件中的某些库函数表明了什么发生了错误。
2    EDOM Domain Error
这个宏表示一个域错误,它在输入参数超出数学函数定义的域时发生,errno 被设置为 EDOM。
3    ERANGE Range Error
这个宏表示一个范围错误,它在输入参数超出数学函数定义的范围时发生,errno 被设置为 ERANGE。

C 标准库 - <float.h>
简介
C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量。这些常量是由 ANSI C 提出的,这让程序更具有可移植性。在讲解这些常量之前,最好先弄清楚浮点数是由下面四个元素组成的:

组件    组件描述
S    符号 ( +/- )
b    指数表示的基数,2 表示二进制,10 表示十进制,16 表示十六进制,等等...
e    指数,一个介于最小值 emin 和最大值 emax 之间的整数。
p    精度,基数 b 的有效位数
基于以上 4 个组成部分,一个浮点数的值如下:

floating-point = ( S ) p x be

floating-point = (+/-) precision x baseexponent

库宏
下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。请注意,所有的实例 FLT 是指类型 float,DBL 是指类型 double,LDBL 是指类型 long double。

宏    描述
FLT_ROUNDS    定义浮点加法的舍入模式,它可以是下列任何一个值:
-1 - 无法确定

0 - 趋向于零

1 - 去最近的值

2 - 趋向于正无穷

3 - 趋向于负无穷

FLT_RADIX 2    这个宏定义了指数表示的基数。基数 2 表示二进制,基数 10 表示十进制,基数 16 表示十六进制。
FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

这些宏定义了 FLT_RADIX 基数中的位数。
FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

这些宏定义了舍入后不会改变表示的十进制数字的最大值(基数 10)。
FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

这些宏定义了基数为 FLT_RADIX 时的指数的最小负整数值。
FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

这些宏定义了基数为 10 时的指数的最小负整数值。
FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

这些宏定义了基数为 FLT_RADIX 时的指数的最大整数值。
FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

这些宏定义了基数为 10 时的指数的最大整数值。
FLT_MAX 1E+37

DBL_MAX 1E+37

LDBL_MAX 1E+37

这些宏定义最大的有限浮点值。
FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

这些宏定义了可表示的最小有效数字。
FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

这些宏定义了最小的浮点值。
实例
下面的实例演示了 float.h 文件中定义的一些常量的使用。

#include <stdio.h>
#include <float.h>

int main()
{
   printf("The maximum value of float = %.10e\n", FLT_MAX);
   printf("The minimum value of float = %.10e\n", FLT_MIN);

   printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);
}
让我们编译和运行上面的程序,这将产生下列结果:

The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312

C标准库 - <limits.h>
简介
limits.h头文件决定了各种变量类型的各种属性。定义在该头文件中的宏限制了各种变量类型(比如char,int和long)的值。

这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是255。

库宏
下面的值是特定实现的,且是通过#define指令来定义的,这些值都不得低于下边所给出的值。

宏    值    描述
CHAR_BIT    8    定义一个字节的比特数。
SCHAR_MIN    -128    定义一个有符号字符的最小值。
SCHAR_MAX    127    定义一个有符号字符的最大值。
UCHAR_MAX    255    定义一个无符号字符的最大值。
CHAR_MIN    0    定义类型 char 的最小值,如果 char 表示负值,则它的值等于 SCHAR_MIN,否则等于 0。
CHAR_MAX    127    定义类型 char 的最大值,如果 char 表示负值,则它的值等于 SCHAR_MAX,否则等于 UCHAR_MAX。
MB_LEN_MAX    1    定义多字节字符中的最大字节数。
SHRT_MIN    -32768    定义一个短整型的最小值。
SHRT_MAX    +32767    定义一个短整型的最大值。
USHRT_MAX    65535    定义一个无符号短整型的最大值。
INT_MIN    -32768    定义一个整型的最小值。
INT_MAX    +32767    定义一个整型的最大值。
UINT_MAX    65535    定义一个无符号整型的最大值。
LONG_MIN    -2147483648    定义一个长整型的最小值。
LONG_MAX    +2147483647    定义一个长整型的最大值。
ULONG_MAX    4294967295    定义一个无符号长整型的最大值。
实例
下面的实例演示了limit.h文件中定义的一些常量的使用。

#include <stdio.h> #include <limits.h> 
 

int main (){


   printf (“字节%d \ n中的位数,CHAR_BIT );

   printf (“SIGNED CHAR的最小值=%d \ n” ,SCHAR_MIN ); 
   printf (“SIGNED CHAR的最大值=%d \ n” ,SCHAR_MAX ); 
   printf (“UNSIGNED CHAR的最大值=%d \ n” ,UCHAR_MAX );

   printf (“SHORT INT的最小值=%d \ n” ,SHRT_MIN ); 
   printf (“SHORT INT的最大值=%d \ n” ,SHRT_MAX ); 

   printf (“INT的最小值=%d \ n” ,INT_MIN ); 
   printf (“INT的最大值=%d \ n” ,INT_MAX );

   printf (“CHAR的最小值=%d \ n” ,CHAR_MIN ); 
   printf (“CHAR的最大值=%d \ n” ,CHAR_MAX );

   printf (“LONG的最小值=%ld \ n” ,LONG_MIN ); 
   printf (“LONG的最大值=%ld \ n” ,LONG_MAX );

C 标准库 - <locale.h>
简介
locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号。接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数。

库宏
下面列出了头文件 locale.h 中定义的宏,这些宏将在下列的两个函数中使用:

序号    宏 & 描述
1    LC_ALL
设置下面的所有选项。
2    LC_COLLATE
影响 strcoll 和 strxfrm 函数。
3    LC_CTYPE
影响所有字符函数。
4    LC_MONETARY
影响 localeconv 函数提供的货币信息。
5    LC_NUMERIC
影响 localeconv 函数提供的小数点格式化和信息。
6    LC_TIME
影响 strftime 函数。
库函数
下面列出了头文件 locale.h 中定义的函数:

序号    函数 & 描述
1    char *setlocale(int category, const char *locale)
设置或读取地域化信息。
2    struct lconv *localeconv(void)
设置或读取地域化信息。
库结构
typedef struct {
   char *decimal_point;
   char *thousands_sep;
   char *grouping;    
   char *int_curr_symbol;
   char *currency_symbol;
   char *mon_decimal_point;
   char *mon_thousands_sep;
   char *mon_grouping;
   char *positive_sign;
   char *negative_sign;
   char int_frac_digits;
   char frac_digits;
   char p_cs_precedes;
   char p_sep_by_space;
   char n_cs_precedes;
   char n_sep_by_space;
   char p_sign_posn;
   char n_sign_posn;
} lconv
以下是各字段的描述:

序号    字段 & 描述
1    decimal_point
用于非货币值的小数点字符。
2    thousands_sep
用于非货币值的千位分隔符。
3    grouping
一个表示非货币量中每组数字大小的字符串。每个字符代表一个整数值,每个整数指定当前组的位数。值为 0 意味着前一个值将应用于剩余的分组。
4    int_curr_symbol
国际货币符号使用的字符串。前三个字符是由 ISO 4217:1987 指定的,第四个字符用于分隔货币符号和货币量。
5    currency_symbol
用于货币的本地符号。
6    mon_decimal_point
用于货币值的小数点字符。
7    mon_thousands_sep
用于货币值的千位分隔符。
8    mon_grouping
一个表示货币值中每组数字大小的字符串。每个字符代表一个整数值,每个整数指定当前组的位数。值为 0 意味着前一个值将应用于剩余的分组。
9    positive_sign
用于正货币值的字符。
10    negative_sign
用于负货币值的字符。
11    int_frac_digits
国际货币值中小数点后要显示的位数。
12    frac_digits
货币值中小数点后要显示的位数。
13    p_cs_precedes
如果等于 1,则 currency_symbol 出现在正货币值之前。如果等于 0,则 currency_symbol 出现在正货币值之后。
14    p_sep_by_space
如果等于 1,则 currency_symbol 和正货币值之间使用空格分隔。如果等于 0,则 currency_symbol 和正货币值之间不使用空格分隔。
15    n_cs_precedes
如果等于 1,则 currency_symbol 出现在负货币值之前。如果等于 0,则 currency_symbol 出现在负货币值之后。
16    n_sep_by_space
如果等于 1,则 currency_symbol 和负货币值之间使用空格分隔。如果等于 0,则 currency_symbol 和负货币值之间不使用空格分隔。
17    p_sign_posn
表示正货币值中正号的位置。
18    n_sign_posn
表示负货币值中负号的位置。
下面的值用于 p_sign_posn 和 n_sign_posn:

值    描述
0    封装值和 currency_symbol 的括号。
1    放置在值和 currency_symbol 之前的符号。
2    放置在值和 currency_symbol 之后的符号。
3    紧挨着放置在值和 currency_symbol 之前的符号。
4    紧挨着放置在值和 currency_symbol 之后的符号。

C 标准库 - <math.h>
简介
math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double 类型的结果。

库宏
下面是这个库中定义的唯一的一个宏:

序号    宏 & 描述
1    HUGE_VAL
当函数的结果不可以表示为浮点数时。如果是因为结果的幅度太大以致于无法表示,则函数会设置 errno 为 ERANGE 来表示范围错误,并返回一个由宏 HUGE_VAL 或者它的否定(- HUGE_VAL)命名的一个特定的很大的值。

如果结果的幅度太小,则会返回零值。在这种情况下,error 可能会被设置为 ERANGE,也有可能不会被设置为 ERANGE。

库函数
下面列出了头文件 math.h 中定义的函数:

序号    函数 & 描述
1    double acos(double x)
返回以弧度表示的 x 的反余弦。
2    double asin(double x)
返回以弧度表示的 x 的反正弦。
3    double atan(double x)
返回以弧度表示的 x 的反正切。
4    double atan2(double y, double x)
返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。
5    double cos(double x)
返回弧度角 x 的余弦。
6    double cosh(double x)
返回 x 的双曲余弦。
7    double sin(double x)
返回弧度角 x 的正弦。
8    double sinh(double x)
返回 x 的双曲正弦。
9    double tanh(double x)
返回 x 的双曲正切。
10    double exp(double x)
返回 e 的 x 次幂的值。
11    double frexp(double x, int *exponent)
把浮点数 x 分解成尾数和指数。返回值是尾数,并将指数存入 exponent 中。所得的值是 x = mantissa * 2 ^ exponent。
12    double ldexp(double x, int exponent)
返回 x 乘以 2 的 exponent 次幂。
13    double log(double x)
返回 x 的自然对数(基数为 e 的对数)。
14    double log10(double x)
返回 x 的常用对数(基数为 10 的对数)。
15    double modf(double x, double *integer)
返回值为小数部分(小数点后的部分),并设置 integer 为整数部分。
16    double pow(double x, double y)
返回 x 的 y 次幂。
17    double sqrt(double x)
返回 x 的平方根。
18    double ceil(double x)
返回大于或等于 x 的最小的整数值。
19    double fabs(double x)
返回 x 的绝对值。
20    double floor(double x)
返回小于或等于 x 的最大的整数值。
21    double fmod(double x, double y)
返回 x 除以 y 的余数。

C 标准库 - <signal.h>
简介
signal.h 头文件定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。

库变量
下面是头文件 signal.h 中定义的变量类型:

序号    变量 & 描述
1    sig_atomic_t 
这是 int 类型,在信号处理程序中作为变量使用。它是一个对象的整数类型,该对象可以作为一个原子实体访问,即使存在异步信号时,该对象可以作为一个原子实体访问。
库宏
下面是头文件 signal.h 中定义的宏,这些宏将在下列两个函数中使用。SIG_ 宏与 signal 函数一起使用来定义信号的功能。

序号    宏 & 描述
1    SIG_DFL
默认的信号处理程序。
2    SIG_ERR
表示一个信号错误。
3    SIG_IGN
忽视信号。
SIG 宏用于表示以下各种条件的信号码:

序号    宏 & 描述
1    SIGABRT
程序异常终止。
2    SIGFPE
算术运算出错,如除数为 0 或溢出。
3    SIGILL
非法函数映象,如非法指令。
4    SIGINT
中断信号,如 ctrl-C。
5    SIGSEGV
非法访问存储器,如访问不存在的内存单元。
6    SIGTERM
发送给本程序的终止请求信号。
库函数
下面是头文件 signal.h 中定义的函数:

序号    函数 & 描述
1    void (*signal(int sig, void (*func)(int)))(int)
该函数设置一个函数来处理信号,即信号处理程序。
2    int raise(int sig)
该函数会促使生成信号 sig。sig 参数与 SIG 宏兼容。

C 标准库 - <stdarg.h>
简介
stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。

可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的。

库变量
下面是头文件 stdarg.h 中定义的变量类型:

序号    变量 & 描述
1    va_list 
这是一个适用于 va_start()、va_arg() 和 va_end() 这三个宏存储信息的类型。
库宏
下面是头文件 stdarg.h 中定义的宏:

序号    宏 & 描述
1    void va_start(va_list ap, last_arg)
这个宏初始化 ap 变量,它与 va_arg 和 va_end 宏是一起使用的。last_arg 是最后一个传递给函数的已知的固定参数,即省略号之前的参数。
2    type va_arg(va_list ap, type)
这个宏检索函数参数列表中类型为 type 的下一个参数。
3    void va_end(va_list ap)
这个宏允许使用了 va_start 宏的带有可变参数的函数返回。如果在从函数返回之前没有调用 va_end,则结果为未定义。

C 标准库 - <stddef.h>
简介
stddef .h 头文件定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。

库变量
下面是头文件 stddef.h 中定义的变量类型:

序号    变量 & 描述
1    ptrdiff_t
这是有符号整数类型,它是两个指针相减的结果。
2    size_t 
这是无符号整数类型,它是 sizeof 关键字的结果。
3    wchar_t 
这是一个宽字符常量大小的整数类型。
库宏
下面是头文件 stddef.h 中定义的宏:

序号    宏 & 描述
1    NULL
这个宏是一个空指针常量的值。
2    offsetof(type, member-designator)
这会生成一个类型为 size_t 的整型常量,它是一个结构成员相对于结构开头的字节偏移量。成员是由 member-designator 给定的,结构的名称是在 type 中给定的。
  
   返回(0 ); }
让我们编译和运行上面的程序,这将产生下列结果:

的比特的数目在一个字节8 的符号字符的最小值= - 128 的符号字符的最大值= 127 的无符号的字符的最大值= 255 的短整型的最小值= - 32768 的短整型的最大值= 32767 的INT的最小值= - 32768 的INT的最大值= 32767 的CHAR的最小值= - 128 

 C 标准库 - <stdio.h>
简介
stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。

库变量
下面是头文件 stdio.h 中定义的变量类型:

序号    变量 & 描述
1    size_t 
这是无符号整数类型,它是 sizeof 关键字的结果。
2    FILE 
这是一个适合存储文件流信息的对象类型。
3    fpos_t 
这是一个适合存储文件中任何位置的对象类型。
库宏
下面是头文件 stdio.h 中定义的宏:

序号    宏 & 描述
1    NULL
这个宏是一个空指针常量的值。
2    _IOFBF、_IOLBF 和 _IONBF 
这些宏扩展了带有特定值的整型常量表达式,并适用于 setvbuf 函数的第三个参数。
3    BUFSIZ
这个宏是一个整数,该整数代表了 setbuf 函数使用的缓冲区大小。
4    EOF 
这个宏是一个表示已经到达文件结束的负整数。
5    FOPEN_MAX 
这个宏是一个整数,该整数代表了系统可以同时打开的文件数量。
6    FILENAME_MAX 
这个宏是一个整数,该整数代表了字符数组可以存储的文件名的最大长度。如果实现没有任何限制,则该值应为推荐的最大值。
7    L_tmpnam 
这个宏是一个整数,该整数代表了字符数组可以存储的由 tmpnam 函数创建的临时文件名的最大长度。
8    SEEK_CUR、SEEK_END 和 SEEK_SET 
这些宏是在These macros are used in the fseek 函数中使用,用于在一个文件中定位不同的位置。
9    TMP_MAX 
这个宏是 tmpnam 函数可生成的独特文件名的最大数量。
10    stderr、stdin 和 stdout 
这些宏是指向 FILE 类型的指针,分别对应于标准错误、标准输入和标准输出流。
库函数
下面是头文件 stdio.h 中定义的函数:

为了更好地理解函数,请按照下面的序列学习这些函数,因为第一个函数中创建的文件会在后续的函数中使用到。
序号    函数 & 描述
1    int fclose(FILE *stream)
关闭流 stream。刷新所有的缓冲区。
2    void clearerr(FILE *stream)
清除给定流 stream 的文件结束和错误标识符。
3    int feof(FILE *stream)
测试给定流 stream 的文件结束标识符。
4    int ferror(FILE *stream)
测试给定流 stream 的错误标识符。
5    int fflush(FILE *stream)
刷新流 stream 的输出缓冲区。
6    int fgetpos(FILE *stream, fpos_t *pos)
获取流 stream 的当前文件位置,并把它写入到 pos。
7    FILE *fopen(const char *filename, const char *mode)
使用给定的模式 mode 打开 filename 所指向的文件。
8    size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
从给定流 stream 读取数据到 ptr 所指向的数组中。
9    FILE *freopen(const char *filename, const char *mode, FILE *stream)
把一个新的文件名 filename 与给定的打开的流 stream 关联,同时关闭流中的旧文件。
10    int fseek(FILE *stream, long int offset, int whence)
设置流 stream 的文件位置为给定的偏移 offset,参数 offset 意味着从给定的 whence 位置查找的字节数。
11    int fsetpos(FILE *stream, const fpos_t *pos)
设置给定流 stream 的文件位置为给定的位置。参数 pos 是由函数 fgetpos 给定的位置。
12    long int ftell(FILE *stream)
返回给定流 stream 的当前文件位置。
13    size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
把 ptr 所指向的数组中的数据写入到给定流 stream 中。
14    int remove(const char *filename)
删除给定的文件名 filename,以便它不再被访问。
15    int rename(const char *old_filename, const char *new_filename)
把 old_filename 所指向的文件名改为 new_filename。
16    void rewind(FILE *stream)
设置文件位置为给定流 stream 的文件的开头。
17    void setbuf(FILE *stream, char *buffer)
定义流 stream 应如何缓冲。
18    int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
另一个定义流 stream 应如何缓冲的函数。
19    FILE *tmpfile(void)
以二进制更新模式(wb+)创建临时文件。
20    char *tmpnam(char *str)
生成并返回一个有效的临时文件名,该文件名之前是不存在的。
21    int fprintf(FILE *stream, const char *format, ...)
发送格式化输出到流 stream 中。
22    int printf(const char *format, ...)
发送格式化输出到标准输出 stdout。
23    int sprintf(char *str, const char *format, ...)
发送格式化输出到字符串。
24    int vfprintf(FILE *stream, const char *format, va_list arg)
使用参数列表发送格式化输出到流 stream 中。
25    int vprintf(const char *format, va_list arg)
使用参数列表发送格式化输出到标准输出 stdout。
26    int vsprintf(char *str, const char *format, va_list arg)
使用参数列表发送格式化输出到字符串。
27    int fscanf(FILE *stream, const char *format, ...)
从流 stream 读取格式化输入。
28    int scanf(const char *format, ...)
从标准输入 stdin 读取格式化输入。
29    int sscanf(const char *str, const char *format, ...)
从字符串读取格式化输入。
30    int fgetc(FILE *stream)
从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动。
31    char *fgets(char *str, int n, FILE *stream)
从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
32    int fputc(int char, FILE *stream)
把参数 char 指定的字符(一个无符号字符)写入到指定的流 stream 中,并把位置标识符往前移动。
33    int fputs(const char *str, FILE *stream)
把字符串写入到指定的流 stream 中,但不包括空字符。
34    int getc(FILE *stream)
从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动。
35    int getchar(void)
从标准输入 stdin 获取一个字符(一个无符号字符)。
36    char *gets(char *str)
从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
37    int putc(int char, FILE *stream)
把参数 char 指定的字符(一个无符号字符)写入到指定的流 stream 中,并把位置标识符往前移动。
38    int putchar(int char)
把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。
39    int puts(const char *str)
把一个字符串写入到标准输出 stdout,直到空字符,但不包括空字符。换行符会被追加到输出中。
40    int ungetc(int char, FILE *stream)
把字符 char(一个无符号字符)推入到指定的流 stream 中,以便它是下一个被读取到的字符。
41    void perror(const char *str)
把一个描述性错误消息输出到标准错误 stderr。首先输出字符串 str,后跟一个冒号,然后是一个空格。
 
 C 标准库 - <stdlib.h>
简介
stdlib .h 头文件定义了四个变量类型、一些宏和各种通用工具函数。

库变量
下面是头文件 stdlib.h 中定义的变量类型:

序号    变量 & 描述
1    size_t 
这是无符号整数类型,它是 sizeof 关键字的结果。
2    wchar_t 
这是一个宽字符常量大小的整数类型。
3    div_t 
这是 div 函数返回的结构。
4    ldiv_t 
这是 ldiv 函数返回的结构。
库宏
下面是头文件 stdlib.h 中定义的宏:

序号    宏 & 描述
1    NULL
这个宏是一个空指针常量的值。
2    EXIT_FAILURE
这是 exit 函数失败时要返回的值。
3    EXIT_SUCCESS
这是 exit 函数成功时要返回的值。
4    RAND_MAX 
这个宏是 rand 函数返回的最大值。
5    MB_CUR_MAX 
这个宏表示在多字节字符集中的最大字符数,不能大于 MB_LEN_MAX。
库函数
下面是头文件 stdlib.h 中定义的函数:

序号    函数 & 描述
1    double atof(const char *str)
把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
2    int atoi(const char *str)
把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
3    long int atol(const char *str)
把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。
4    double strtod(const char *str, char **endptr)
把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
5    long int strtol(const char *str, char **endptr, int base)
把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。
6    unsigned long int strtoul(const char *str, char **endptr, int base)
把参数 str 所指向的字符串转换为一个无符号长整数(类型为 unsigned long int 型)。
7    void *calloc(size_t nitems, size_t size)
分配所需的内存空间,并返回一个指向它的指针。
8    void free(void *ptr)
释放之前调用 calloc、malloc 或 realloc 所分配的内存空间。
9    void *malloc(size_t size)
分配所需的内存空间,并返回一个指向它的指针。
10    void *realloc(void *ptr, size_t size)
尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。
11    void abort(void)
使一个异常程序终止。
12    int atexit(void (*func)(void))
当程序正常终止时,调用指定的函数 func。
13    void exit(int status)
使程序正常终止。
14    char *getenv(const char *name)
搜索 name 所指向的环境字符串,并返回相关的值给字符串。
15    int system(const char *string)
由 string 指定的命令传给要被命令处理器执行的主机环境。
16    void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
执行二分查找。
17    void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
数组排序。
18    int abs(int x)
返回 x 的绝对值。
19    div_t div(int numer, int denom)
分子除以分母。
20    long int labs(long int x)
返回 x 的绝对值。
21    ldiv_t ldiv(long int numer, long int denom)
分子除以分母。
22    int rand(void)
返回一个范围在 0 到 RAND_MAX 之间的伪随机数。
23    void srand(unsigned int seed)
该函数播种由函数 rand 使用的随机数发生器。
24    int mblen(const char *str, size_t n)
返回参数 str 所指向的多字节字符的长度。
25    size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)
把参数 str 所指向的多字节字符的字符串转换为参数 pwcs 所指向的数组。
26    int mbtowc(whcar_t *pwc, const char *str, size_t n)
检查参数 str 所指向的多字节字符。
27    size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)
把数组 pwcs 中存储的编码转换为多字节字符,并把它们存储在字符串 str 中。
28    int wctomb(char *str, wchar_t wchar)
检查对应于参数 wchar 所给出的多字节字符的编码

C 标准库 - <string.h>
简介
string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。

库变量
下面是头文件 string.h 中定义的变量类型:

序号    变量 & 描述
1    size_t 
这是无符号整数类型,它是 sizeof 关键字的结果。
库宏
下面是头文件 string.h 中定义的宏:

序号    宏 & 描述
1    NULL
这个宏是一个空指针常量的值。
库函数
下面是头文件 string.h 中定义的函数:

序号    函数 & 描述
1    void *memchr(const void *str, int c, size_t n)
在参数 str 所指向的字符串的前 n 个字节中搜索第一次出现字符 c(一个无符号字符)的位置。
2    int memcmp(const void *str1, const void *str2, size_t n)
把 str1 和 str2 的前 n 个字节进行比较。
3    void *memcpy(void *dest, const void *src, size_t n)
从 src 复制 n 个字符到 dest。
4    void *memmove(void *dest, const void *src, size_t n)
另一个用于从 str2 复制 n 个字符到 str1 的函数。
5    void *memset(void *str, int c, size_t n)
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
6    char *strcat(char *dest, const char *src)
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
7    char *strncat(char *dest, const char *src, size_t n)
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。
8    char *strchr(const char *str, int c)
在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。
9    int strcmp(const char *str1, const char *str2)
把 str1 所指向的字符串和 str2 所指向的字符串进行比较。
10    int strncmp(const char *str1, const char *str2, size_t n)
把 str1 和 str2 进行比较,最多比较前 n 个字节。
11    int strcoll(const char *str1, const char *str2)
把 str1 和 str2 进行比较,结果取决于 LC_COLLATE 的位置设置。
12    char *strcpy(char *dest, const char *src)
把 src 所指向的字符串复制到 dest。
13    char *strncpy(char *dest, const char *src, size_t n)
把 src 所指向的字符串复制到 dest,最多复制 n 个字符。
14    size_t strcspn(const char *str1, const char *str2)
检索字符串 str1 开头连续有几个字符都不含字符串 str2 中的字符。
15    char *strerror(int errnum)
从内部数组中搜索错误号 errnum,并返回一个指向错误消息字符串的指针。
16    size_t strlen(const char *str)
计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。
17    char *strpbrk(const char *str1, const char *str2)
检索字符串 str1 中第一个匹配字符串 str2 中字符的字符,不包含空结束字符。也就是说,依次检验字符串 str1 中的字符,当被检验字符在字符串 str2 中也包含时,则停止检验,并返回该字符位置。
18    char *strrchr(const char *str, int c)
在参数 str 所指向的字符串中搜索最后一次出现字符 c(一个无符号字符)的位置。
19    size_t strspn(const char *str1, const char *str2)
检索字符串 str1 中第一个不在字符串 str2 中出现的字符下标。
20    char *strstr(const char *haystack, const char *needle)
在字符串 haystack 中查找第一次出现字符串 needle(不包含空结束字符)的位置。
21    char *strtok(char *str, const char *delim)
分解字符串 str 为一组字符串,delim 为分隔符。
22    size_t strxfrm(char *dest, const char *src, size_t n)
根据程序当前的区域选项中的 LC_COLLATE 来转换字符串 src 的前 n 个字符,并把它们放置在字符串 dest 中。


C 标准库 - <time.h>
简介
time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数。

库变量
下面是头文件 time.h 中定义的变量类型:

序号    变量 & 描述
1    size_t 
是无符号整数类型,它是 sizeof 关键字的结果。
2    clock_t 
这是一个适合存储处理器时间的类型。
3    time_t is 
这是一个适合存储日历时间类型。
4    struct tm 
这是一个用来保存时间和日期的结构。
tm 结构的定义如下:

struct tm {
   int tm_sec;         /* 秒,范围从 0 到 59        */
   int tm_min;         /* 分,范围从 0 到 59        */
   int tm_hour;        /* 小时,范围从 0 到 23        */
   int tm_mday;        /* 一月中的第几天,范围从 1 到 31    */
   int tm_mon;         /* 月,范围从 0 到 11        */
   int tm_year;        /* 自 1900 年起的年数        */
   int tm_wday;        /* 一周中的第几天,范围从 0 到 6    */
   int tm_yday;        /* 一年中的第几天,范围从 0 到 365    */
   int tm_isdst;       /* 夏令时                */
};
库宏
下面是头文件 time.h 中定义的宏:

序号    宏 & 描述
1    NULL
这个宏是一个空指针常量的值。
2    CLOCKS_PER_SEC 
这个宏表示每秒的处理器时钟个数。
库函数
下面是头文件 time.h 中定义的函数:

序号    函数 & 描述
1    char *asctime(const struct tm *timeptr)
返回一个指向字符串的指针,它代表了结构 timeptr 的日期和时间。
2    clock_t clock(void)
返回程序执行起(一般为程序的开头),处理器时钟所使用的时间。
3    char *ctime(const time_t *timer)
返回一个表示当地时间的字符串,当地时间是基于参数 timer。
4    double difftime(time_t time1, time_t time2)
返回 time1 和 time2 之间相差的秒数 (time1-time2)。
5    struct tm *gmtime(const time_t *timer)
timer 的值被分解为 tm 结构,并用协调世界时(UTC)也被称为格林尼治标准时间(GMT)表示。
6    struct tm *localtime(const time_t *timer)
timer 的值被分解为 tm 结构,并用本地时区表示。
7    time_t mktime(struct tm *timeptr)
把 timeptr 所指向的结构转换为一个依据本地时区的 time_t 值。
8    size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
根据 format 中定义的格式化规则,格式化结构 timeptr 表示的时间,并把它存储在 str 中。
9    time_t time(time_t *timer)
计算当前日历时间,并把它编码成 time_t 格式。
 
 
 
 
 
的CHAR的最大值= 127 的LONG的最小值= - 2147483648 的LONG的最大值= 2147483647 

0
0
翟谦瑞
翟谦瑞
新手守护
新手守护
#include<assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <fstream.h>   //文件输入/输出
#include <iomanip.h>   //参数化输入/输出
#include<iostream.h>   //数据流输入/输出
#include<limits.h>    //定义各种数据类型最值常量
#include<locale.h>    //定义本地化函数
#include <math.h>     //定义数学函数
#include <stdio.h>    //定义输入/输出函数
#include<stdlib.h>    //定义杂项函数及内存分配函数
#include <string.h>    //字符串处理
#include<strstrea.h>   //基于数组的输入/输出
#include<time.h>     //定义关于时间的函数
#include <wchar.h>    //宽字符处理及输入/输出
#include <wctype.h>    //宽字符分类

//////////////////////////////////////////////////////////////////////////

标准 C++ (同上的不再注释)

#include <algorithm>    //STL通用算法
#include <bitset>     //STL位集容器
#include <cctype>
 #include <cerrno>
 #include <clocale>
 #include <cmath>
 #include <complex>     //复数类
#include <cstdio>
 #include <cstdlib>
 #include <cstring>
 #include <ctime>
 #include <deque>      //STL双端队列容器
#include <exception>    //异常处理类
#include <fstream>
 #include <functional>   //STL定义运算函数(代替运算符)
#include <limits>
 #include <list>      //STL线性列表容器
#include <map>       //STL 映射容器
#include <iomanip>
 #include <ios>      //基本输入/输出支持
#include<iosfwd>     //输入/输出系统使用的前置声明
#include <iostream>
 #include <istream>     //基本输入流
#include <ostream>     //基本输出流
#include <queue>      //STL队列容器
#include <set>       //STL 集合容器
#include <sstream>    //基于字符串的流
#include <stack>      //STL堆栈容器    
#include <stdexcept>    //标准异常类
#include <streambuf>   //底层输入/输出支持
#include <string>     //字符串类
#include <utility>     //STL通用模板类
#include <vector>     //STL动态数组容器
#include <cwchar>
 #include <cwctype>

 

 

我要回答