C++头文件一览表.docx

上传人:b****7 文档编号:23558105 上传时间:2023-05-18 格式:DOCX 页数:25 大小:26.31KB
下载 相关 举报
C++头文件一览表.docx_第1页
第1页 / 共25页
C++头文件一览表.docx_第2页
第2页 / 共25页
C++头文件一览表.docx_第3页
第3页 / 共25页
C++头文件一览表.docx_第4页
第4页 / 共25页
C++头文件一览表.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C++头文件一览表.docx

《C++头文件一览表.docx》由会员分享,可在线阅读,更多相关《C++头文件一览表.docx(25页珍藏版)》请在冰豆网上搜索。

C++头文件一览表.docx

C++头文件一览表

传统C++

#include    //设定插入点

#include    //字符处理

#include    //定义错误码

#include    //浮点数处理

#include   //文件输入/输出

#include   //参数化输入/输出

#include   //数据流输入/输出

#include    //定义各种数据类型最值常量

#include    //定义本地化函数

#include     //定义数学函数

#include    //定义输入/输出函数

#include    //定义杂项函数及内存分配函数

#include    //字符串处理

#include   //基于数组的输入/输出

#include     //定义关于时间的函数

#include    //宽字符处理及输入/输出

#include    //宽字符分类

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

#include   //STL通用算法

#include     //STL位集容器

#include//字符处理

#include//定义错误码

#include//定义本地化函数

#include//定义数学函数

#include    //复数类

#include//定义输入/输出函数

#include//定义杂项函数及内存分配函数

#include//字符串处理

#include //定义关于时间的函数

#include     //STL双端队列容器

#include   //异常处理类

#include//文件输入/输出

#include   //STL定义运算函数(代替运算符)

#include/定义各种数据类型最值常量

#include      //STL线性列表容器

#include      //STL映射容器

#include//参数化输入/输出

#include      //基本输入/输出支持

#include     //输入/输出系统使用的前置声明

#include//数据流输入/输出

#include    //基本输入流

#include    //基本输出流

#include     //STL队列容器

#include      //STL集合容器

#include    //基于字符串的流

#include     //STL堆栈容器    

#include   //标准异常类

#include   //底层输入/输出支持

#include     //字符串类

#include    //STL通用模板类

#include     //STL动态数组容器

#include//宽字符处理及输入/输出

#include//宽字符分类

usingnamespacestd;

C99增加

#include  //复数处理

#include    //浮点环境

#include  //整数格式转换

#include  //布尔环境

#include   //整型环境

#include   //通用类型数学宏

一、预编译头文件说明

所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。

这样可以加快编译速度,节省时间。

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

编译器通过一个头文件stdafx.h来使用预编译头文件。

stdafx.h这个头文件名是可以在project的编译设置里指定的。

编译器认为,所有在指令#include"stdafx.h"前的代码都是预编译的,它跳过#include"stdafx.h"指令,使用projectname.pch编译这条指令之后的所有代码。

(在编译的时候,在#include"stdafx.h"前面的语句都不予以编译)

因此,所有的CPP实现文件第一条语句都是:

#include"stdafx.h"。

另外,每一个实现文件CPP都包含了如下语句:

#ifdef_DEBUG

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

这是表示,如果生成调试版本,要指示当前文件的名称。

__FILE__是一个宏,在编译器编译过程中给它赋值为当前正在编译的文件名称。

平常找不到文件尾的时候,其解决方案如下:

默认情况下使用预编译头(/Yu),不明白的在加入新.h文件后编译时总出现fatalerrorC1010:

在查找预编译头指令时遇到意外的文件结尾的错误。

解决方法是在在include头文件的地方加上#include"stdafx.h",或者打项目属性,找到“C/C++”文件夹,单击“预编译头”属性页。

修改“创建/使用预编译头”属性为“不使用预编译头”。

三、预处理的由来

在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个。

C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarne博士简称为Cpp,不知道是不是CProgramPreprocessor的简称)。

四、常见的预处理功能

预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:

文件包含,条件编译、布局控制和宏替换4种。

文件包含:

#include是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。

条件编译:

#if,#ifndef,#ifdef,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件重复包含的功能。

布局控制:

#pragma,这也是我们应用预处理的一个重要方面,主要功能是为编译程序提供非常规的控制流信息。

宏替换:

#define,这是最常见的用法,它可以定义符号常量、函数功能、重新命名、字符串的拼接等各种功能。

五、预处理指令

预处理指令的格式如下:

#directivetokens

#符号应该是这一行的第一个非空字符,一般我们把它放在起始位置。

如果指令一行放不下,可以通过“\”进行控制,例如:

#defineErrorif(error)exit

(1)

等价于:

#defineError\

if(error)exit

(1)

下面我们看一下常见的预处理指令:

#define宏定义

#undef未定义宏

#include文本包含

#ifdef如果宏被定义就进行编译

#ifndef如果宏未被定义就进行编译

#endif结束编译块的控制

#if表达式非零就对代码进行编译

#else作为其他预处理的剩余选项进行编译

#elif这是一种#else和#if的组合选项//后面有例子的

#line改变当前的行数和文件名称

#error输出一个错误信息

#pragma为编译程序提供非常规的控制流信息

下面我们对这些预处理进行一一的说明,考虑到宏的重要性和繁琐性,我们把它放到最后讲。

六、文件包含指令

这种预处理使用方式是最为常见的,平时我们编写程序都会用到,最常见的用法是:

#include//标准库头文件

#include//旧式的标准库头文件

#include"IO.h"//用户自定义的头文件

#include"../file.h"//UNIX下的父目录下的头文件

#include"/usr/local/file.h"//UNIX下的完整路径

#include"..\file.h"//Dos下的父目录下的头文件

#include"\usr\local\file.h"//Dos下的完整路径

C头文件大全

 

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

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

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

                    返回非0值,否则返回0

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

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

                    返回非0值,否则返回0

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

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

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

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

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

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

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

                    返回非0值,否则返回0

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

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

                    否则返回0

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

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

 

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

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

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

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

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

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

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

doubleldexp(doublevalue,intexp);   返回value*2exp的值

double  log(doublex)                返回logex的值

doublelog10(doublex)                返回log10x的值

double  pow(doublex,doubley)       返回xy的值

doublepow10(intp)                   返回10p的值

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

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

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

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

doubleatan2(doubley,doublex)       返回y/x的反正切tan-1(x)值,y的x为弧度

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

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

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

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

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

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

doublehypot(doublex,doubley)       返回直角三角形斜边的长度(z),

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

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

doublefloor(doublex)                返回不大于x的最大整数

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

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

double poly(doublex,intn,doublec[])从参数产生一个多项式

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

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

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

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

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

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

char  *ecvt(doublevalue,intndigit,int*decpt,int*sign)

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

char  *fcvt(doublevalue,intndigit,int*decpt,int*sign)

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

char  *gcvt(doublevalue,intndigit,char*buf)

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

char *ultoa(unsignedlongvalue,char*string,intradix)

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

char  *ltoa(longvalue,char*string,intradix)

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

char  *itoa(intvalue,char*string,intradix)

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

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

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

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

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

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

                                              并返回这个数,

int         matherr(structexception*e)

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

double      _matherr(_mexcepwhy,char*fun,double*arg1p,

                     double*arg2p,doubleretval)

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

unsignedint_clear87()  清除浮点状态字并返回原来的浮点状态

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

unsignedint_status87() 返回浮点状态字

 

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

int    chdir(char*path)使指定的目录path(如:

"C:

\\WPS")变成当前的工作目录,成

        功返回0

intfindfirst(char*pathname,structffblk*ffblk,intattrib)查找指定的文件,成功

    返回0

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

\\WPS\\TXT"

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

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

   ┃structffblk                       ┃

   ┃{                                  ┃

   ┃charff_reserved[21];/*DOS保留字*/┃

   ┃charff_attrib;      /*文件属性*/┃

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

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

   ┃longff_fsize;       /*文件长度*/┃

   ┃charff_name[13];    /*文件名*/  ┃

   ┃}                                  ┃

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

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

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

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

   ┃FA_HIDDEN隐藏文件┃FA_DIREC 目录 ┃

   ┃FA_SYSTEM系统文件┃FA_ARCH  档案 ┃

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

   例:

   structffblkff;

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

 

int  findnext(structffblk*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(intdrive,char*direc)此函数返回指定驱动器的当前工作目录名称

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

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

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

     节长为为止.错误返回NULL

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

int  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1