C++头文件一览表Word下载.docx
- 文档编号:21201538
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:19
- 大小:26.36KB
C++头文件一览表Word下载.docx
《C++头文件一览表Word下载.docx》由会员分享,可在线阅读,更多相关《C++头文件一览表Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
cctype>
//字符处理
cerrno>
//定义错误码
clocale>
//定义本地化函数
cmath>
//定义数学函数
complex>
//复数类
cstdio>
//定义输入/输出函数
cstdlib>
//定义杂项函数及内存分配函数
cstring>
//字符串处理
ctime>
//定义关于时间的函数
deque>
//STL双端队列容器
exception>
//异常处理类
fstream>
//文件输入/输出
functional>
//STL定义运算函数(代替运算符)
limits>
/定义各种数据类型最值常量
list>
//STL线性列表容器
map>
//STL映射容器
iomanip>
//参数化输入/输出
ios>
//基本输入/输出支持
iosfwd>
//输入/输出系统使用的前置声明
iostream>
//数据流输入/输出
istream>
//基本输入流
ostream>
//基本输出流
queue>
//STL队列容器
set>
//STL集合容器
sstream>
//基于字符串的流
stack>
//STL堆栈容器
stdexcept>
//标准异常类
streambuf>
//底层输入/输出支持
string>
//字符串类
utility>
//STL通用模板类
vector>
//STL动态数组容器
cwchar>
//宽字符处理及输入/输出
cwctype>
//宽字符分类
usingnamespacestd;
C99增加
complex.h>
//复数处理
fenv.h>
//浮点环境
inttypes.h>
//整数格式转换
stdbool.h>
//布尔环境
stdint.h>
//整型环境
tgmath.h>
//通用类型数学宏
一、预编译头文件说明
所谓头文件预编译,就是把一个工程(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"
前面的语句都不予以编译)
因此,所有的CPP实现文件第一条语句都是:
#include"
。
另外,每一个实现文件CPP都包含了如下语句:
#ifdef_DEBUG
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
这是表示,如果生成调试版本,要指示当前文件的名称。
__FILE__是一个宏,在编译器编译过程中给它赋值为当前正在编译的文件名称。
平常找不到文件尾的时候,其解决方案如下:
默认情况下使用预编译头(/Yu),不明白的在加入新.h文件后编译时总出现fatalerrorC1010:
在查找预编译头指令时遇到意外的文件结尾的错误。
解决方法是在在include头文件的地方加上#include"
或者打项目属性,找到“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为编译程序提供非常规的控制流信息
下面我们对这些预处理进行一一的说明,考虑到宏的重要性和繁琐性,我们把它放到最后讲。
六、文件包含指令
这种预处理使用方式是最为常见的,平时我们编写程序都会用到,最常见的用法是:
//标准库头文件
//旧式的标准库头文件
IO.h"
//用户自定义的头文件
../file.h"
//UNIX下的父目录下的头文件
/usr/local/file.h"
//UNIX下的完整路径
..\file.h"
//Dos下的父目录下的头文件
\usr\local\file.h"
//Dos下的完整路径
C头文件大全
分类函数,所在函数库为ctype.h
intisalpha(intch)
若ch是字母('
A'
-'
Z'
'
a'
z'
)返回非0值,否则返回0
intisalnum(intch)
)或数字('
0'
9'
)
返回非0值,否则返回0
intisascii(intch)
若ch是字符(ASCII码中的0-127)返回非0值,否则返回0
intiscntrl(intch)
若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F)
intisdigit(intch)
若ch是数字('
intisgraph(intch)
若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0
intislower(intch)
若ch是小写字母('
intisprint(intch)
若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0
intispunct(intch)
若ch是标点字符(0x00-0x1F)返回非0值,否则返回0
intisspace(intch)
若ch是空格('
'
),水平制表符('
\t'
),回车符('
\r'
),
走纸换行('
\f'
),垂直制表符('
\v'
),换行符('
\n'
intisupper(intch)
若ch是大写字母('
intisxdigit(intch)若ch是16进制数('
F'
f'
)返回非0值,
否则返回0
inttolower(intch)
)返回相应的小写字母('
inttoupper(intch)
)返回相应的大写字母('
数学函数,所在函数库为math.h、stdlib.h、string.h、float.h
int
abs(inti)
返回整型参数i的绝对值
double
cabs(structcomplexznum)
返回复数znum的绝对值
fabs(doublex)
返回双精度参数x的绝对值
long
labs(longn)
返回长整型参数n的绝对值
exp(doublex)
返回指数函数ex的值
doublefrexp(doublevalue,int*eptr)
返回value=x*2n中x的值,n存贮在eptr中
doubleldexp(doublevalue,intexp);
返回value*2exp的值
log(doublex)
返回logex的值
doublelog10(doublex)
返回log10x的值
pow(doublex,doubley)
返回xy的值
doublepow10(intp)
返回10p的值
sqrt(doublex)
返回+√x的值
acos(doublex)
返回x的反余弦cos-1(x)值,x为弧度
asin(doublex)
返回x的反正弦sin-1(x)值,x为弧度
atan(doublex)
返回x的反正切tan-1(x)值,x为弧度
doubleatan2(doubley,doublex)
返回y/x的反正切tan-1(x)值,y的x为弧度
cos(doublex)
返回x的余弦cos(x)值,x为弧度
sin(doublex)
返回x的正弦sin(x)值,x为弧度
tan(doublex)
返回x的正切tan(x)值,x为弧度
cosh(doublex)
返回x的双曲余弦cosh(x)值,x为弧度
sinh(doublex)
返回x的双曲正弦sinh(x)值,x为弧度
tanh(doublex)
返回x的双曲正切tanh(x)值,x为弧度
doublehypot(doublex,doubley)
返回直角三角形斜边的长度(z),
x和y为直角边的长度,z2=x2+y2
ceil(doublex)
返回不小于x的最小整数
doublefloor(doublex)
返回不大于x的最大整数
void
srand(unsignedseed)
初始化随机数发生器
rand()
产生一个随机数并返回这个数
poly(doublex,intn,doublec[])从参数产生一个多项式
modf(doublevalue,double*iptr)将双精度数value分解成尾数和阶
fmod(doublex,doubley)
返回x/y的余数
将双精度数value分成尾数和阶
atof(char*nptr)
将字符串nptr转换成浮点数并返回这个浮点数
atoi(char*nptr)
将字符串nptr转换成整数并返回这个整数
atol(char*nptr)
将字符串nptr转换成长整数并返回这个整数
char
*ecvt(doublevalue,intndigit,int*decpt,int*sign)
将浮点数value转换成字符串并返回该字符串
*fcvt(doublevalue,intndigit,int*decpt,int*sign)
*gcvt(doublevalue,intndigit,char*buf)
将数value转换成字符串并存于buf中,并返回buf的指针
*ultoa(unsignedlongvalue,char*string,intradix)
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数
*ltoa(longvalue,char*string,intradix)
将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
*itoa(intvalue,char*string,intradix)
将整数value转换成字符串存入string,radix为转换时所用基数
doubleatof(char*nptr)将字符串nptr转换成双精度数,并返回这个数,错误返回0
atoi(char*nptr)将字符串nptr转换成整型数,
并返回这个数,错误返回0
atol(char*nptr)将字符串nptr转换成长整型数,并返回这个数,错误返回0
doublestrtod(char*str,char**endptr)将字符串str转换成双精度数,并返回这个数,
strtol(char*str,char**endptr,intbase)将字符串str转换成长整型数,
并返回这个数,
matherr(structexception*e)
用户修改数学错误返回信息函数(没有必要使用)
_matherr(_mexcepwhy,char*fun,double*arg1p,
double*arg2p,doubleretval)
unsignedint_clear87()
清除浮点状态字并返回原来的浮点状态
_fpreset()
重新初使化浮点数学程序包
unsignedint_status87()
返回浮点状态字
目录函数,所在函数库为dir.h、dos.h
chdir(char*path)使指定的目录path(如:
"
C:
\\WPS"
)变成当前的工作目录,成
功返回0
intfindfirst(char*pathname,structffblk*ffblk,intattrib)查找指定的文件,成功
返回0
pathname为指定的目录名和文件名,如"
\\WPS\\TXT"
ffblk为指定的保存文件信息的一个结构,定义如下:
┏━━━━━━━━━━━━━━━━━━┓
┃structffblk
┃
┃{
┃
┃charff_reserved[21];
/*DOS保留字*/┃
┃charff_attrib;
/*文件属性*/┃
┃int
ff_ftime;
/*文件时间*/┃
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);
findnext(structffblk*ffblk)
取匹配finddirst的文件,成功返回0
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中.
fnsplit(char*path,char*drive,char*dir,char*name,char*ext)
此函数将文件名path分解成盘符drive(C:
文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.
getcurdir(intdrive,char*direc)此函数返回指定驱动器的当前工作目录名称
drive指定的驱动器(0=当前,1=A,2=B,3=C等)
direc保存指定驱动器当前工作路径的变量
成功返回0
char*getcwd(char*buf,iintn)此函数取当前工作目录并存入buf中,直到n个字
节长为为止.错误返回NULL
getdisk()取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 文件 一览表
![提示](https://static.bdocx.com/images/bang_tan.gif)