常用系统函数

  • 格式: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等