常用系统函数
- 格式:docx
- 大小:35.64 KB
- 文档页数:29
常用系统函数
附录B
常用系统函数
在使用C++语言进行编程时,许多很基本和很重要的功能都由系统的库函数和类库来实现。为便于学习和使用,本附录列出了一些常用的库函数,供读者查阅。
本附录的依据是Windows环境下VC十+编译系统。由于不同编译系统提供的库函数和类库可能会稍有差异,读者在实际使用时应参考所使用系统的手册。
为方便查阅,本附录的内容基本按函数类型分类,不同的分类中的内容可能会有重叠。对每一个函数,包含对其名称、原型、参数的含义、所需头文件、返回值和函数的功能的简洁说明。凡是函数名称以下划线开头的(如_open)都是Microsoft特殊函数,只适合在Windows 9x和WinNT平台上使用。其它函数均为ANSI标准函数,在任何平台下都能使用。
为节约篇幅,考虑到本书的读者大多为C十+语言的初学者,本附录只收录了一些常用的函数。对一些功能相同的函数,省略了其宽字符和多字节字符的版本,读者若需要查阅这方面的内容,可参考相应的资料。
B.1 缓冲区操作函数
函数名:_memccpy
函数原型:void *_memccpy(void *dest,const void *src,int
c,unsigned int count);
参数:dest目的指针;sro源指针;c拷贝的最后字符;count字符个数。
所需头文件:或
功能:从src所指向的地址开始拷贝。个或多个字节到dest中。当指定字符c已拷贝或已拷贝count个字节后停止。
返回值:如果字符c被拷贝,返回dest中该字符直接后继字节的指针;如果c没有被拷贝则返回NULL。
函数名:memchr
函数原型:void *memchr(const void *buf,int c,sizet count);
参数:buf缓冲区的指针;c查找的字符;count检查的字符个数。
所需头文件:或
功能:查找buf的前count个字节中c的第一次出现,当找到c或已检查完count个字节时停止。
返回值:如果成功,返回buf中c首次出现的位置的指针;否则返回NULL
函数名:memcpy
函数原型:void *memcpy(void *dest,const void *src,sizet
count);
参数:dest目的缓冲区;src源缓冲区;count拷贝的字符个数。
所需头文件:或
功能:从sro拷贝count个字节到dest。如果源缓冲区和目的缓冲区重叠,这个函数不能保证正确拷贝;对于这种情况可使用memmove处理。
返回值:返回dest的值。
函数名:_memlcmp
函数原型:int _memicmp(const void *buf1,const void *buf2,unsigned int count);
参数:bufl第一个缓冲区;buf2第二个缓冲区;count字符个数。
所需头文件:或
功能:比较两个缓冲区bufl和buf2的前count个字符,比较过程是大小写无关的。
返回值:bufl和buf2的前count个字节之间的关系:<0:bufl小于buf2;=0:bufl等于buf2;>0:bufl 大于bur2
函数名:memmove
函数原型:void *memmove(void *dest,const void *src,sizet count); 参数:dest目的对象;src源对象;count拷贝的字符字节个数。
所需头文件;
功能:从src拷贝count个字节到dest。如果源区域与目的区域有重叠,memmove也能确保正确拷贝。返回值:返回dest的值。
函数名:memset
函数原型:void *memset(void *dest,int c,sizet count);
参数:dest目的指针;c设置的字符;count字符个数。
所需头文件:或
功能:设置dest的前count个字节为字符c。
返回值:返回dest的值。
函数名:_swab
函数原型:void _swab(char *src,char *dest,int n);
参数:src需拷贝和交换的数据;dest交换结果数据的存储位置;n拷贝和交换的字节个数。
所需头文件:
功能:从src拷贝n个字节,交换每对相邻的字节,并把结果存储在dest中。一般用于为转换到使用不同字节次序的机器上而准备二进制数据。
返回值:无
B.2 字符分类函数
本类函数都只有一个int型参数,即要测试的整数。
函数名:isalnum
函数原型:int isalnum(int c);
所需头文件:
功能:测试c是否字母或数字。
返回值:如果c在A~Z、a~z或0~9的范围内,则返回一个非0值;否则返回0。
函数名:isalpha
函数原型:int isalpha(int c);
所需头文件: 功能:测试c是否字母。
返回值:如果c在A~Z或a~z的范围内,则返回一个非0值;否则返回0。
函数名:_isascll
函数原型:int _isascll (int c);
所需头文件:
功能:测试c是否ASCII字符。
返回值:如果c为一个0x00~0x7F之间的ASCII字符,则返回一个非0值:否则返回0。
函数名:iscntrl
函数原型:int iscntrl(int c);
所需头文件:
功能:测试c是否控制字符,
返回值:如果c是一个控制字符(0x00~0xlF或0x7F),则返回一个非0值,否则返回0。函数名:_iscsym
函数原型:int _iscsym (int c);
所需头文件:
功能:测试c是否字母、下划线或数字。
返回值:如果c是一个字母、下划线或数字,则返回一个非0值;否则返回0。
函数名:_iscsymf
函数原型:int _iscsymf (int c);
所需头文件:
功能:测试是否字母或下划线。
返回值:如果c是一个字母或下划线,则返回一个非0值;否则返回0。
函数名:isdigit
函数原型:int isdigit(int c);
所需头文件:
功能:测试是否十进制数字。 返回值:如果c是一个十进制数字(0~9),则返回一个非0值;否则返回0。
函数名:isgraph
函数原型:int isgraph(int c);
所需头文件:
功能:测试是否空格外的可打印字符。
返回值:如果c是一个非空格的其它可打印字符,则返回一个非0值;否则返回0。
函数名:islower
函数原型:int islower(int c);
所需头文件:
功能:测试是否小写字母。
返回值:如果c是一个小写字母(a~z)
函数名:isprint
函数原型:int isprint(int c);
功能:测试是否可打印字符。
返回值:如果c是一个可打印字符包括空格字符(0x20~0x7E),则返回一个非0值;否则返回0。
函数名:ispunct
函数原型:int ispunct(int c);
所需头文件:
功能:测试是否标点符号。
返回值:如果c是一个非空格字符并且是isalnum不为真的字符,则返回一个非0值;否则返回0。
函数名:isspace
函数原型:int isspace(int c);
所需头文件:
功能:测试是否空白。
返回值:如果c是一个空白字符(0x09~0x0D或0x20) 则返回一个非0值;否则返回0。 函数名:isupper
函数原型:int isupper(int c);
所需头文件:
功能:测试是否大写字母。
返回值:如果c是一个大写字母,则返回一个非0值;否则返回0。
函数名:isxdigit
函数原型:int isxdigit(int c);
所需头文件:
功能:测试是否十六进制数字。
返回值:如果c是一个十六进制数字(A~F,a~f或0~9),则返回一个非0值;否则返回0。
B.2数据转换函数
函数名:abs
函数原型:int abs(int n);
参数:n整数值。
所需头文件:或
功能:求绝对值。
返回值:返回n的绝对值。
函数名:atof,atoi,atol
函数原型:double atof(const char *string);
int atoi(const char *string);
long atol(const char *xstring);
参数:string要转换的字符串。
所需头文件:atof需要和,其它需要
功能:将字符串转换成double(atof)、integer(atoi)或long(ato1)型数据。
返回值:返回转换后的结果值,如果输入不能转换成对应类型的值,返回值为0.0(atof)或0(atoi,atol)。溢
函数名:_ecvt 函数原型:char *_ecvt (double value,int count,int dec,int
*sign);
参数:value被转换的数;count存储的数字个数;dec存储的小数点位置;sign转换的数的符号。
所需头文件:
功能:将double型浮点数转换成指定长度的字符串,
返回值:返回数字字符串的一个指针;没有错误返回
函数名:_fcvt
函数原型:char *_fcvt (double value,int count,int *dec,int
*sign);
参数:value被转换的数值lcount小数点之后的位数;dec存储的小数点位置的指针;sign存储的符号指示符的指针。
所需头文件:
功能;将double型浮点数转换为以空字符结尾的字符串。
返回值:返回一个数字字符的指针;没有错误返回。
函数名:_gcvt
函数原型:char _gcvt (double value,int digits,char *buffer);
参数:value被转换的值;digits存储的有效数字位数;buffer结果的存储位置
所需头文件:
功能;将double型浮点数转换成字符串,并将其存储在缓冲区中
返回值:返回该数字字符串的指针;没有错误返回。
函数名:_itoa,_ltoa
函数原型:char *_itoa (int value,char *strmg,int radix)
char _ltoa (1ong value,char*string,int radix);
参数:value要转换的数;string结果字符串;radix value的基数,必须在2~36的范围内。
所需头文件:
功能:将int(_itoa)或long(_ltoa)型数据转换成一个以空字符结尾的字符串,并将结果存储在string中(至多33个字节)。如果radix等