没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
附录 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 字符个数。
所需头文件:<memory.h>或<string.h>
功能:从 src 所指向的地址开始拷贝。个或多个字节到 dest 中。当指定字符 c 已
拷贝或已拷贝 count 个字节后停止。
返回值:如果字符 c 被拷贝,返回 dest 中该字符直接后继字节的指针;如果 c
没有被拷贝则返回 NULL。
函数名:memchr
函数原型:void *memchr(const void *buf,int c,sizet count);
参数:buf 缓冲区的指针;c 查找的字符;count 检查的字符个数。
所需头文件:<memory.h>或<string.h>
功能:查找 buf 的前 count 个字节中 c 的第一次出现,当找到 c 或已检查完 count
个字节时停止。
返回值:如果成功,返回 buf 中 c 首次出现的位置的指针;否则返回 NULL
函数名:memcpy
函数原型:void *memcpy(void *dest,const void *src,sizet count);
参数:dest 目的缓冲区;src 源缓冲区;count 拷贝的字符个数。
所需头文件:<memory.h>或<string.h>
功能:从 sro 拷贝 count 个字节到 dest。如果源缓冲区和目的缓冲区重叠,这个
函数不能保证正确拷贝;对于这种情况可使用 memmove 处理。
返回值:返回 dest 的值。
函数名:_memlcmp
函数原型 :int _memicmp(const void *buf1,const void *buf2,unsigned int count);
参数:bufl 第一个缓冲区;buf2 第二个缓冲区;count 字符个数。
所需头文件:<memory.h>或<string.h>
功能:比较两个缓冲区 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 拷贝的字符字节个数。
所需头文件;<string.h>
功能:从 src 拷贝 count 个字节到 dest。如果源区域与目的区域有重叠,memmove
也能确保正确拷贝。
返回值:返回 dest 的值。
函数名:memset
函数原型:void *memset(void *dest,int c,sizet count);
参数:dest 目的指针;c 设置的字符;count 字符个数。
所需头文件:<memory.h>或<string.h>
功能:设置 dest 的前 count 个字节为字符 c。
返回值:返回 dest 的值。
函数名:_swab
函数原型:void _swab(char *src,char *dest,int n);
参数:src 需拷贝和交换的数据;dest 交换结果数据的存储位置;n 拷贝和交换的
字节个数。
所需头文件:<stdlib.h>
功能:从 src 拷贝 n 个字节,交换每对相邻的字节,并把结果存储在 dest 中。一
般用于为转换到使用不同字节次序的机器上而准备二进制数据。
返回值:无
B.2 字符分类函数
本类函数都只有一个 int 型参数,即要测试的整数。
函数名:isalnum
函数原型:int isalnum(int c);
所需头文件:<ctype.h>
功能:测试 c 是否字母或数字。
返回值:如果 c 在 A~Z、a~z 或 0~9 的范围内,则返回一个非 0 值;否则返
回 0。
函数名:isalpha
函数原型:int isalpha(int c);
所需头文件:<ctype.h>
功能:测试 c 是否字母。
返回值:如果 c 在 A~Z 或 a~z 的范围内,则返回一个非 0 值;否则返回 0。
函数名:_isascll
函数原型:int _isascll (int c);
所需头文件:<ctype.h>
功能:测试 c 是否 ASCII 字符。
返回值:如果 c 为一个 0x00~0x7F 之间的 ASCII 字符,则返回一个非 0 值:否
则返回 0。
函数名:iscntrl
函数原型:int iscntrl(int c);
所需头文件:<ctype.h>
功能:测试 c 是否控制字符,
返回值:如果 c 是一个控制字符(0x00~0xlF 或 0x7F),则返回一个非 0 值,否则
返回 0。
函数名:_iscsym
函数原型:int _iscsym (int c);
所需头文件:<ctype.h>
功能:测试 c 是否字母、下划线或数字。
返回值:如果 c 是一个字母、下划线或数字,则返回一个非 0 值;否则返回 0。
函数名:_iscsymf
函数原型:int _iscsymf (int c);
所需头文件:<ctype.h>
功能:测试是否字母或下划线。
返回值:如果 c 是一个字母或下划线,则返回一个非 0 值;否则返回 0。
函数名:isdigit
函数原型:int isdigit(int c);
所需头文件:<ctype.h>
功能:测试是否十进制数字。
返回值:如果 c 是一个十进制数字(0~9),则返回一个非 0 值;否则返回 0。
函数名:isgraph
函数原型:int isgraph(int c);
所需头文件:<ctype.h>
功能:测试是否空格外的可打印字符。
返回值:如果 c 是一个非空格的其它可打印字符,则返回一个非 0 值;否则返回
0。
函数名:islower
函数原型:int islower(int c);
所需头文件:<ctype.h>
功能:测试是否小写字母。
返回值:如果 c 是一个小写字母(a~z)
函数名:isprint
函数原型:int isprint(int c);
所需头文件:<ctype.h>
功能:测试是否可打印字符。
返回值:如果 c 是一个可打印字符包括空格字符(0x20~0x7E),则返回一个非 0
值;否则返回 0。
函数名:ispunct
函数原型:int ispunct(int c);
所需头文件:<ctype.h>
功能:测试是否标点符号。
返回值:如果 c 是一个非空格字符并且是 isalnum 不为真的字符,则返回一个非
0 值;否则返回 0。
函数名:isspace
函数原型:int isspace(int c);
所需头文件:<ctype.h>
功能:测试是否空白。
返回值:如果 c 是一个空白字符(0x09~0x0D 或 0x20) 则返回一个非 0 值;否则
返回 0。
函数名:isupper
函数原型:int isupper(int c);
所需头文件:<ctype.h>
功能:测试是否大写字母。
返回值:如果 c 是一个大写字母,则返回一个非 0 值;否则返回 0。
函数名:isxdigit
函数原型:int isxdigit(int c);
所需头文件:<ctype.h>
功能:测试是否十六进制数字。
返回值:如果 c 是一个十六进制数字(A~F,a~f 或 0~9),则返回一个非 0 值;
否则返回 0。
B.2 数据转换函数
函数名:abs
函数原型:int abs(int n);
参数:n 整数值。
所需头文件:<stdlib.h>或<mat}
功能:求绝对值。
返回值:返回 n 的绝对值。
函数名:atof,atoi,atol
函数原型:double atof(const char *string);
int atoi(const char *string);
long atol(const char *xstring);
参数:string 要转换的字符串。
所需头文件:atof 需要<math.h>和<stdlib.h>,其它需要<stdlib.h>
功能:将字符串转换成 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
转换的数的符号。
所需头文件:<stdlib.h>
功能:将 double 型浮点数转换成指定长度的字符串,
返回值:返回数字字符串的一个指针;没有错误返回
函数名:_fcvt
函数原型:char *_fcvt (double value,int count,int *dec,int *sign);
参数:value 被转换的数值 lcount 小数点之后的位数;dec 存储的小数点位置的指
针;sign 存储的符号指示符的指针。
所需头文件:<stdlib.h>
功能;将 double 型浮点数转换为以空字符结尾的字符串。
返回值:返回一个数字字符的指针;没有错误返回。
函数名:_gcvt
函数原型:char _gcvt (double value,int digits,char *buffer);
参数:value 被转换的值;digits 存储的有效数字位数;buffer 结果的存储位置
所需头文件:<stdlib.h>
功能;将 double 型浮点数转换成字符串,并将其存储在缓冲区中
返回值:返回该数字字符串的指针;没有错误返回。
函数名:_itoa,_ltoa
函数原型:char *_itoa (int value,char *strmg,int radix)
剩余38页未读,继续阅读
资源评论
G11176593
- 粉丝: 6678
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功