常用API

常用系统函数
在使用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
返回
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数原型: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>
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:从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);
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
所需头文件:<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>
功能:测试是否空白。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
返回值:如果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.3数据转换函数
函数名: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>
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:将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)
char _ltoa (1ong value,char *string,int radix);
参数:value 要转换的数;string 结果字符串;radix value 的
基数,必须在2~36 的范围内。
所需头文件:<stdlib.h>
功能:将int(_itoa)或long(_ltoa)型数据转换成一个以空字符
结尾的字符串,并将结果存储在string 中(至多33 个字节)。如果
radix 等于10 且value 为负数,结果字符串的第一个字符是负号
(-)。
返回值:返回参数string;没有错误返回。
函数名:labs
函数原型:long labs(1ong n);
参数:n 长整数值。
所需头文件:<stdlib.h>和<math.h>
功能:求long 整数的绝对值。
返回值:返回n 的绝对值;没有错误返回。
函数名:strtod
函数原型:double strtod(const char *nptr,char
**endptr);
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
参数:nptr 要转换的以空字符结尾的字符串;endptr 停止扫描的
字符的指针。
所需头文件:<stdlib.h>
功能:将字符串nptr 转换成double 型数据,在遇到第一个不能作
为数值识别的字符时停止,这可能是结尾的空字符。
返回值:返回转换后的结果。如果发生上溢,函数返回十/一
HUGEVAL,HUGEVAL 的符号与需转换的值符号相同。如果不能进行
转换或出现下溢出,则返回0。
函数名:strtol
函数原型:long strtol(const char *nptr,char
**endptr,int base);
参数:nptr 要转换的以空字符结尾的字符串;endptr 停止扫描的
字符的指针;
base 使用的基数。
所需头文件:<stdlib.h>
功能:将字符串nptr 转换成long 型数据。在遇到第一个不能作为
数值识别的字符时停止,这可能是结尾的空字符,或者是第一个大
于或等于base 的数值字符。
返回值:返回转换后的结果。如果发生上溢,函数返回LONGMAX 或
LONGMIN。如果不能执行转换,则返回0。
函数名:strtoul
函数原型:unsigned long strtoul(const char *nptr,char
**endptr,int base);
参数:nptr 要转换的以空字符结尾的字符串;endptr 停止扫描的
字符的指针;base 使用的基数。
所需头文件:<stdlib.h>
功能:将字符串nptr 转换成unsignedlong 型数据。在读到字符
串中第一个不能作为数值识别的字符时停止,这可能是结尾的空字
符或者是大于或等于base 的第一个数值字符。
返回值:返回转换后的结果。如果发生上溢,函数返回ULONGMAX。
如果不能执行转换,则返回0。
函数名:_toascii
函数原型:iht _toascii (int c);
参数:c 要转换的字符。
所需头文件:<ctype.h>
功能:将字符转换成ASCII 码
返回值:返回转换结果。
函数名:tolower
函数原型:int tolower(int c);
参数:c 要转换的字符。
所需头文件:<stdlib.h>和<ctype.h>
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:将字符转换为小写字母。
返回值:返回转换结果。
函数名:toupper
函数原型:int toupper(int c);
参数:c 要转换的字符。
所需头文件:<stdlib.h>和<ctype.h>
功能:将字符转换为大写字母。
返回值:返回转换结果。
函数名:_ultoa
函数原型:char *_ultoa (unsigned long value,char
*string,int radix);
参数:value 要转换的数;string 字符串结果;Radix value 的
基数,必须在2_36 的范围内。
所需头文件:<stdlib.h>
功能:将value 转换成一个以空字符结尾的字符串,并存储在
string 中(至多33 个字节),不执行上溢出检查。
返回值:返回string 的指针;没有错误返回。
B.4目录控制函数
函数名:_chdir
函数原型:int _chdir(const char *dirname);
参数:dirname 新工作目录的路径,必须指向_个现存目录。
所需头文件:<direct.h>
功能:将当前工作目录改变为dirname 所指定的目录。如果在
dirname 中指定一个新驱动器字母,这个函数可以改变任何驱动器
上的当前目录,缺省驱动器也可以改变。
返回值:如果成功,返回0;如所指定的路径未找到,则返回一1。
函数名_chdrive
函数原型:int _chdrive(int drive);
参数:drive 新工作驱动器号,使用一个整数指出新的工作驱动器
(1=A,2=B 等等)。
所需头文件:<direct.h>
功能:将当前工作驱动器改变为drive 指定的驱动器。
返回值:如果工作驱动器成功改变,返回0 值;否则返回-1。
函数名:_getcwd
函数原型:char *_getcwd(char *buffer,int maxlen);
参数:buffer 路径的存储位置;maxlen 路径的最大长度,以字符
为单位。
所需头文件:<direct.h>
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:获取缺省驱动器上当前工作目录的完整路径,并存储在
buffer 中
(包括结尾的空字符)超过maxlen,会出现一个错误。
返回值:返回buffer 的指针,若出错,则返回NULL。
函数名:_getdcwd
函数原型:char *_getdcwd(int drive,char *buffer,int
maxlen);
参数:drive 磁盘驱动器;buffer 路径的存储位置;maxlen 路径
的最大长度。
所需头文件:<direct.h>
功能:获取指定驱动器上当前工作目录的完整路径,并存储在
buffer 中。如果路径的长度(包括结尾的空字符)超过maxlen,会
出现一个错误。
返回值;返回buffer 的指针:若出错,则返回NULL。
函数名:_getdrive
函数原型:int_getdrive(void)
参数:无
所需头文件:<direct.h>
功能:获取当前(缺省)驱动器。
返回值:返回当前(缺省)驱动器(1=A,2=B 等等);没有错误返
回。
函数名:_mkdir
函数原型;int_mkdir(const char *dirname);
参数:dirname 新目录的路径。
所需头文件:<direct.h>
功能:用指定的dirname 建立一个新目录。mkdir 每次调用仅建立
一个新目录
返回值:如果成功地建立了新目录,返回0:出现错误时,返回-
1。
函数名:_rmdir
函数原型:int_rmdir(const char *dirname);
参数:dirname 需删除的目录的路径。
所需头文件:<direct.h>
功能:删除由dirname 指定的目录,该目录必须为空必须不能是当
前工作目录或根目录。
返回值:如果该目录成功删除,返回0;否则返回-1。
函数名:_searchenv
函数原型:void _searchenv(const char *filename,const
cha *varname,char *pathname);
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
参数:filename 要查找的文件的名称varname 查找的环境:
pathname 存储完整路径的缓冲区。
功能:使用环境路径查找文件。首先在当前工作目录中查找,如果
没有找到该文件,接着查找环境变量指定的目录。找到文件后,将
文件的路径存人pathname。如果文件未找到,pathname 包含一个
空的、以空字符结尾的字符串。
返回值:无
B.5 文件处理函数
B.5.1 在一个文件句柄指定的文件上进行操作的函数
函数名_chsize
函数原型:int _chsize(int handle,long size);
参数:handle 指向打开文件的句柄;slze 文件的新尺寸,以字节为
单位。
所需头文件;<io.h>
功能:以size 指定的长度扩充或截除与handle 关联的文件,该文
件必须以允许写模式打开。如果该文件被扩充,要在末尾添加空字
符(‘\0’);如果文件被截除,从缩短的文件的末尾到该文件的最
初长度之间的所有数据将丢失。
返回值;如果文件尺寸成功改变,返回0,否则返回-1。
函数名:_filelength
函数原型:long _filelength(int handle)
参数:handle 目标文件句柄。
所需头文件:<io.h>
功能:获取文件长度。
返回值:返回与handle 关联的目标文件的文件长度(以字节为单
位)。若出错,则返回-1L。
函数名:_fstat
函数原型:int _fstat(int handle,struct stat
*buffer);
参数:handle 打开文件的句柄;buffer 存储结果的结构的指针。
所需头文件:<sys/stat.h>和<sys/types.h>
功能:获取与handle 关联的打开文件的信息,并存储在buffer 所
指的结构中。
返回值:如果成功获取文件状态信息,返回0。否则返回-1。
函数名:_isatty
函数原型: int _lsatty(int handle)
参数:handle 指向测试设备的句柄
所需头文件:<io.h>
功能:确定handle 是否与一个字符设备(一个终端、控制台、打印
机或串行端口)关联。
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
返回值:当handle 与一个字符设备关联时,返回一个非0 值;否
则返回0。
函数名:_locking
函数原型:int _locking(int handle,int mode,long
nbytes);
参数:handle 文件句柄;mode 执行锁定活动;nbytes 锁定的字节
数。
所需头文件;<lo.h>和<sys\locking>
功能:锁定或解锁由handle 指定的文件的nbytes 个字节。锁定一
个文件的字节防止这些字节被其它进程访问。所有的锁定或解锁开
始于文件指针的当前位置直到下一个nbytes 字节。
返回值:如果成功,则返回0。否则返回-1。
函数名:_setmode
函数原型:int _setmode(int handle,int mode);
参数:handle 文件句柄;mode 新的转换模式,必须是显式常量
OTEXT 或OBINARY 之一,OTEXT 是文本(可转换的)模式,输人中的
回车换行(CR-LF)组合转换成单个换行符,输出时单个换行符转换
成CR-LF 组合;OBINARY 是二进制(不可转换的)模式。
所需头文件:<io.h>
功能:将handle 所指定的文件的转换模式设置为mode,但不进行
转换
返回值:如果成功,setmode 返回以前的转换模式;否则返回一
1。
B.5.2 在一个路径或文件名指定的文件上进行操作的函数
函数名:_access
函数原型:int _access(const char *path,int mode);
参数:path 文件或目录的路径。mode 许可权设置:00 仅存在;02
写许可,04 读许可,06 读和写许可。
所需头文件:<io.h>
功能:当用于文件时,检查确定的文件是否存在且能否以mode 值
指定的模式访问。当用于目录时,本函数仅确定指定的目录是否存
在。
返回值:如果该文件有给定的模式,每个这样的函数返回0。如果
指定的文件不存在或在给定的模式下不能访问,该函数返回-1。
函数名:_chmod
函数原型:int _chmod(const char *filename,int pmode);
参数:filename 现存文件的名称;pmode 文件的许可权设置。
所需头文件:<io.h>和<sys\stat.h>
功能:改变由filename 指定的文件的许可权设置。该许可权控制
对文件的读和写访问权限。整数表达式pmode 包含如下常量中的—
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
个或两个:SIWRlTE 写允许;SIREAD 读允许;SIREAD|SIWRITE 读
和写允许。
返回值:如果该许可设置成功,返回0;如指定的文件未找到,则
返回-1。
函数名:_fullpath
函数原型:char *_fullpath(char *absPath,const char
*relPath,int maxLength)
参数:absPath 包含绝对或完整路径名称的缓冲区的指针,
relPath 相对路径名称;
maxLength 绝对路径名称缓冲区(absPath)的最大长度。
所需头文件:<stdlib.h>
功能:将relPath 中的相对路径名称扩充为完整的或绝对路径,并
存储在absPath 中。
返回值:返回一个包含绝对路径名称(absPath)的缓冲区的指针。
函数名:_get_osfhandle
函数原型:long _get_osfhandle(int filehandle);
参数mlehandle 用户文件句柄。
所需头文件:<io.h>
功能:返回与现存流FILE 指针关联的操作系统文件句柄
返回值:如果成功,getosfhandle 返回对应于filehandle 的一
个操作系统文件句柄;否则返回-l。
函数名:_makepath
函数原型:void _makepath(char *path,const char
*drive,const char *fname,const char *ext)
参数:path 完整路径缓冲区;drive 驱动器名;dir 目录路径;
fname 文件名;ext 文件扩展名。
所需头文件:<stdlib.h>
功能:建立单个路径并存储在path 中。该路径可以包含一个驱动
器字母、目录路径和文件扩展名。
返回值:无
函数名:_mktemp
函数原型:char *_mktemp(char *template);
参数:template 文件名模式,其格式是baseXXXXXX,这里base
是你提供的新文件名的一部分,每个X 是将生成的新文件名中一个
字符的占位符。
所需头文件:<io.h>
功能:mktemp 函数通过修改template 参数建立一个唯一的文件
名。
返回值:返回一个修改后的指针template。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:_open_osfhandle
函数原型:int _open_osfhandle(long osfhandle,int
flags);
参数:osfhandle 操作系统文件句柄。flags 允许操作的类型,是
一个整数表达式
OAPPEND 每次写操作之前文件指针定位于文件末尾;ORDONLY 打开
文件用于只读OTEXT 以文本模式(可转换的)打开文件。
所需头文件:<io.h>
功能:分配一个C 运行文件句柄,并设置它指向由osfhandle 指向
的操作系统文件句柄。
返回值:如果成功,则返回一个C 运行文件句柄,否则返回-1。
函数名:remove
函数原型:int remove(const char *path)
参数:path 要删除的文件的路径。
所需头文件:<stdio.h>或<io.h>
功能:删除文件。
返回值:如果成功删除,返回0,否则返回-1。
函数名:rename
函数原型:int rename(const char *oldname,const char
*newname);
参数: oldname 旧名称的指针,必须是一个现存文件或目录的路径
名;newname 新文件名称指针,不能与一个现存文件或目录重名。
所需头文件:<io.h>或<stdio.h>
功能:把由oldname 指定的文件或目录名改成由newname 给定的
名称。
返回值:如果成功,返回0;在出错时,该函数返回非0 值。
函数名:_splitpath
函数原型:void _splitpath(const char *path,char
*drive,char *dir,char *fname,
char *ext);
参数:path 完整路径;drive 驱动器字母,后跟一个冒号(:)dir
目录路径,包括尾部斜杠,正向斜杠(/)、反向斜杠(\)或两者都
可以使用;fname 文件名(没有扩展名);ext 文件名扩展名,包括引
导句点(.)。
所需头文件:<stdlib.h>
功能:将一个路径分解成它的4 个组成成分。
返回值:无。
函数名:_stat
函数原型:int _stat(const char *path,struct stat
*buffer);
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
参数:path 存放文件的路径,buffer 存储结果的结构的指针。
所需头文件:<sys/types.h>和<sys/stat.h>
功能:获取path 指定的有关文件或目录的信息,将它们存储在
buffer 所指的结构中。
返回值:如果成功获取了文件状态信息,返回0。否则返回-1。
函数名:_umask
函数原型:int _umask(int pmode);
参数:pmode 缺省的许可设置。
所需头文件:<io.h>和<sys/stat.h>或<sys/types.h>
功能:将当前进程的文件许可掩码设置为由pmode 指定的模式,该
许可掩码用于修改由creat,open 或sopen 建立的文件的许可设
置。
返回值;返回pmode 以前的值。
函数名_unlink
函数原型:int _unlink(const char *filename);
参数:filename 删除文件的名称。
所需头文件:<io.h>和<stdio.h>
功能:删除由filename 指定的文件。
返回值:如果成功,返回0;否则返回-1。
B.6 数学函数
函数名:abs
函数原型:int abs(int n) ;
参数in 需要求绝对值的整数。
所需头文件:<stdlib.h>或<math.h>
功能和返回值:返回n 的绝对值;没有错误返回
函数名:acos
函数原型:double acos(double x) ;
参数:x 是-1 到l 之间的值。
所需头文件;<math.h>
功能和返回值:计算并返回范围在0 到π弧度之间的x 的反余弦
值。
函数名:asln
函数原型:double asin(double x);
参数:x 是-l 到1 之间的值。
所需头文件:<math.h>
功能和返回值:计算并返回范围在-π/2 到π/2 弧度之间的x 的反
正弦值。
函数名:atan,atan2
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数原型:double atan(double x);
double atan2(double y,double x);
所需头文件:<math.h>
功能:计算x(atan)或y/x(atan2)的反正切值。
返回值:atan 返回x 的反正切值,atan2 返回y/x 的反正切值。
如果x 为0,则atan 返回0。如果atan2 的两个参数都为0,该函
数返回0。
函数名:atof
函数原型:double atof(const char ustring);
参数:string 需要转换的字符串。
所需头文件:<math.h>或<stdlib.h>
功能和返回值:将字符串转换成double 值并返回该值。如果
string 不能转换成double 类型的值,返回值为0.0。
函数名:_cabs
函数原型:double _cabs (struct complex z);
参数:z 复数,必须是类型complex 的结构。
所需头文件:<math.h>
功能和返回值:计算复数2 的绝对值。如果成功,返回z 的绝对
值。
函数名:ceil
函数原型:double ceil(double x);
所需头文件:<math.h>
功能:对x 向上取整,并以double 型浮点数形式存储结果。
返回值:返回一个double 型的大于或等于x 的最小整数;没有错
误返回。
函数名:_chgsign
函数原型:double _chgsign (double x);
参数:x 需要改变符号的数值。
所需头文件:<float.h>
功能:改变双精度浮点参数的符号。
返回值:返回一个与参数x 的绝对值相同但符号相反的double
值。
函数名:_copyslgn
函数原型:double _copyslgn (double x,double y);
参数:x 将重新确定符号的数值sy 浮点数,其符号将用来确定x 的
符号
所需头文件:<float.h>
功能:将y 的符号复制给x。
返回值:返回一个绝对值与x 相同,符号与y 相同的double 值。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:cos,cosh
函数原型:double cos(double x);
参数:x 弧度值。
所需头文件:<math.h>
功能和返回值:计算并返回x 的余弦值(cos)或双曲余弦值
(cosh)。
函数名:difftime
函数原型:double difftime(timet timerl,timet timer0);
参数:timerl 终止时间;timerO 开始时间。
所需头文件:<time.h>
功能:计算两个指定时间值之间的差。
返回值:返回从timer0 到timerl 之间经过的时间
函数名:div
函数原型:div_t div(int numer,int denom);
参数:numer 被除数;dehorn 除数。
所需头文件:<stdlib.h>
功能:用numer 除以denom,计算商与余数。如果除数为0,程序
输出一个错误消息并终止。
返回值:返回一个div_t 类型的结构,它由商与余数组成,定义在
stdlib.h 中。
函数名:exp
函数原型:double exp(double x);
所需头文件:<math.h>
功能和返回值:计算并返回e 的x 次幂。上溢出时返回INF(无穷
大),下溢出时返回。
函数名:fabs
函数原型:double fabs(double x);
所需头文件:<math.h>
功能和返回值:计算并返回浮点参数x 的绝对值。
函数名:_finite
函数原型:int _finite (double x);
所需头文件:<float.h>
功能:判断双精度浮点值x 是否有穷。
返回值:如果x 是有穷的,也就是说,-INF<X<+INF 时,返回一个
非0 值(true)如果x 是无穷的或NaN,返回0 值(false)。
函数名:floor
函数原型:double floor(double x);
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
所需头文件:<float.h>
功能:向下取整,并以double 型浮点数形式存储结果。
返回值:返回一个double 型的小于或等于x 的最大整数;没有错
误返回。
函数名:fmod
函数原型:double fmod(double x,double y);
所需头文件:<math.h>
功能和返回值:计算并返回x/y 的余数,如果y 值是o.0,返回
一个静止NaN。
函数名:frexp
函数原型:doublefrexp(doublex,Int‘expptr);
参数:x 需要求出尾数和指数的浮点数;expptr 指向指数值的指针
所需头文件:<math.h>
功能:取得一个浮点数的尾数和指数。
返回值:返回尾数。如果x 为o,尾数和指数都为o。
函数名:_hypot
函数原型:double _hypot (double x,double y);
参数:直角三角形的两个直角边长度。
所需头文件:<math.h>
功能和返回值:计算并返回直角三角形的斜边长度(x 与y 的平方
根),上溢出时返INF(无穷大)。
函数名:1abs
函数原型:long labs(1ong n)
所需头文件:<stdlib.h>
功能和返回值:返回long 型参数n 的绝对值
函数名:ldexp
函数原型:double ldexp(double x,int exp);
参数:x 尾数;exp 指数。
所需头文件:<math.h>
功能和返回值:计算并返回变量x 和2 的指定乘方的乘积
(x*2e x p)。
函数名:ldiv
函数原型:ldiv_t ldiv(10ng Int numer,longlilt denom);
参数:numer 被除数;denom 除数。
所需头文件:<stdlib.h>
功能:用numer 除以denom,计算商与余数。如果除数为0,程序
输出一个错误消息并终止。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
返回值:返回一个ldiv_t 类型的结构,它由商和余数组成,定义
在stdlib.h 中。
函数名:log
函数原型:double log(double x);
所需头文件:<math.h>
功能和返回值:计算并返回x 的自然对数。如果x 是负数,返回值
不确定。如果x 为0,返回INF(无穷大)。
函数名:logl0
函数原型:double logl0(double x);
所需头文件:~math.h 2>
功能和返回值:汁算并返回x 的以10 为底的对数。如果x 是负
数,返回值不确定。如果X 为0,返回INF(无穷大)。
函数名:_logb
函数原型:double _logb (double x);
所需头文件:<float.h>
功能和返回值:返回双精度浮点参数x 的无偏的指数值。
函数名:_lrotl,_lrotr
函数原型:unsigned long _lrot (unsigned long value,int
shift)
unsigned long _lrotr (unsigned long value,int
shift);
参数:value 需要移位的数值;shift 需要移动的位数。
所需头文件:<stdlib.h>
功能:循环移动value 值shift 位。
返回值:返回循环移位后的值。
函数名:_max
函数原型:type_max (type a,type b);
参数:type 任何数值数据类型;a 和b 是参与比较的两个数,必须
是相同类型。
所需头文件:<stdlib.h>
功能和返回值:比较a 和b 并返回其中较大者。
函数名:_min
函数原型:type _min (type a,type b);
参数:type 任何数值数据类型。a 和b 是参与比较的两个数,必须
是相同类型。
所需头文件:<stdlib.h>
功能和返回值:比较a 和b 并返回其中较小者。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:modf
函数原型:double modf(double x,double *inptr);
参数:x 需要分解的数;lnptr 指向分解后整数部分的指针。
所需头文件:<math.h>
功能和返回值:将浮点值x 分解成小数和整数部分,每个都与x 具
有同样的符号。返回x 的带符号的小数部分,整数部分作为浮点值
存储在intptr 处。
函数名:_ nextafter
函数原型:double _ nextafter (double x,double y);
所需头文件:<float.h>
功能和返回值:返回x 与y 之间,与x 最邻近的可表示的浮点数。
如果x=y,nextafter 返回x,没有异常触发。
函数名:pow
函数原型:double pow(double x,double y);
所需头文件:<math.h>
功能和返回值:计算并返回x 的y 次幂。
函数名:printf
函数原型:int printf(const char *format[,
argument]…);
参数:format 格式控制字符串;argument 待输出的内容,任选参
数。
所需头文件:<stdio.h>
功能:格式化并输出一系列字符和数值到标准输出流stdout。如果
有参数argument 跟随format 字符串,该format 字符串必须包含
确定该参数输出格式的格式符。
返回值:返回输出的字符个数:如果出现错误,则返回一个负数。
函数名:rand
函数原型:int rand(void);
所需头文件:<stdlib.h>
功能和返回值:求出并返回
函数名:_rotl,_totr
函数原型:unsigned int _rotl (unsigned int value,int
shift);
unsigned int _totr (unsigned mt value,int shift);
参数:value 需要移位的数值;shift 需要移动的位数。
所需头文件:<stdlib.h>
功能:循环移动value 值shift 位。_rotl 左循环移位,_totr 右
循环移位。
返回值:返回循环移位后的值。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:scanf
函数原型:int scanf(const char *format[,
argument)...);
参数:format 格式控制字符串;argument 可选参数,表示输入内
容的存放地址。
所需头文件:<stdl 瓜h>
功能:scanf 函数从标准输人流stdin 读数据并把所读数据写到
argument 指定的位置。每个argument 必须是对应于format 中一
个类型指示符的类型的变量的一个指针。
返回值:返回成功转换和赋值的域的个数。
函数名:sin,sinh
函数原型:double sin(double x);
double sinh(double x);
参数:x 弧度值。
所需头文件:<math.h>
功能和返回值:sin 返回x 的正弦值。sinh 返回x 的双曲正弦值。
函数名:sqrt
函数原型:double sqrt(double x);
所需头文件:<math.h>
功能和返回值:计算并返回x 的平方根。
函数名:srand
函数原型:void srand(unsigned int seed);
参数:seed 产生随机数的种子。
所需头文件:<stdlib.h>
功能:为使rand()产生一序列伪随机整数而设置起始点。使用1 作
为seed 参数,可以重新初始化rand()。
函数名:tan,tanh
函数原型:double tan(double x);
double tanh(double x);
参数:x 弧度值。
所需头文件:<math,h>
功能和返回值:tan 返回x 的正切值。tanh 返回x 的双曲正切值。
B.7 输入和输出函数
B.7.1 流I/O 函数
函数名:clearerr
函数原型:void clearerr(FILE *stream);
参数:stream FILE 结构的指针。
所需头文件:<stdio.h>
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能和返回值:清除stream 的错误指示符和文件结束指示符。由
于错误指示符不会自动清除,一旦设置了一个指定流的错误指示
符,在该流上的操作便持续返回一个错误值,直到调用了
elearerr、fseek、fsetpos 或rewind。
函数名:fclose
函数原型:int fclose(FILE *stream);
参数:streamFILE 结构的指针。
所需头文件:<stdio.h>
返回值:如果该流成功关闭,fclose 返回0。如果出错,则返回
EOF。
功能:关闭流。
函数名:fcloseall
函数原型:int fcloseall(void);
参数:streamFII-E 结构的指针
所需头文件:<stdio.h>
功能:关闭除stdin、stdout 和stderr 外所有打开的流。
返回值:返回关闭的流的总数。如果出错,则返回EOF。
函数名:_fdopen
函数原型:FILE *_fdopen (int handle,const char
*mode);
参数:handle 打开文件的句柄;mode 文件访问类型。
所需头文件:<stdio.h>
功能:将—个I/O 流与一个先前打开的、以handle 标识的文件相
关联,由此便可以对—个为低级I/O 而打开的文件进行缓冲和格式
化。
返回值:返回—个打开流的指针。如果出错,将返回一个空指针。
函数名:feof
函数原型:int eof(FILE *stream);
参数:stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:确定stream 是否到达文件末尾。当到达文件末尾时,读操
作返回一个文件结束指示符,直到该流被关闭或后面调用了
rewind、fsetpos、fseek 或clearerr 函数。
返回值:在第一次试图读过文件末尾时,函数返回一个非0 值;如
果当前位置不在文件末尾,它返回0。
函数名:ferror
函数原型:int ferror(FILE *stream);
参数:stream FILE 结构的指针。
所需头文件:<stdio.h>
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:测试与stream 关联的文件上的读写错误。如果出现一个错
误,该函数将设置该流的错误指示符并且保留到该流被关闭、重绕
或者后面调用了clearerr 函数。
返回值:如果stream 上没有出现错误,{error 返回0;否则返回
一个非0 值。
函数名:fflush
函数原型:int fflush(FILE *stream);
参数:stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:刷新一个流。如果与stream 关联的文件打开用于输出,
fflush 将与该流关联的缓冲区的内容写到这个文件中。如果该流打
开用于输入,fflush 清除缓冲区的内容。对于无缓冲的流,
fflush 没有效果。
返回值:如果成功刷新,返回0。当指定的流没有缓冲区或者以只
读打开时也返回0 值。返回EOF 指出一个错误。
函数名:fgetc
函数原型:int fgetc(FILE *stream);
参数:stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:从文件的当前位置读人一个字符。文件的读写指针会移动到
下一个字符,如果读到文件尾,则流的结束标志被设置。
返回值:返回作为int 所读的字符,或者返回EOF 指出一个错误或
文件结束。
函数名:_fgetchar
函数原型:int _fgetchar(void);
所需头文件:<stdio.h>
功能:从stdin 读取一个字符。
返回值:以int 型返回所读的字符,或者返回EOF 指出一个错误或
文件结束。
函数名:fgetpos
函数原型:int fgetpos(FILE *stream,fpost *pos);
参数:stream 目标流;pos 位置指示器的地址。
所需头文件:<stdio.h>
功能:获取文件stream 的位置指示器的当前值,并存储在pos 所
指的对象中。
返回值:如果成功,返回0;否则返回一个非0 值。
函数名:fgets
函数原型:char *fgets(char *string,int n,FILE
*stream);
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
参数:string 数据的存储位置;n 读字符的最多个数;stream
FILE 结构的指针。
所需头文件:<stdio.h>
功能:从stream 读取一个字符串,并存储在string 中。它从当前
流位置开始读字符,读到换行符、流结束或者所读的字符数等于n-
1。读到的换行符被保留在字符串中,存放在string 中的字符串末
尾被添加一个o。
返回值:返回string;返回NULL 指出有错误或文件结束
函数名:_fileno
函数原型:int _fileno (FILE *stream);
参数:stream 是FILE 结构的指针。
所需头文件:<stdio.h>
功能与返回值:返回与stream 关联的文件句柄;没有错误返回。
如果stream 没有指定一个已打开的文件,其结果是没有定义的。
函数名:_flushall
函数原型;int _flushall (void);
所需头文件:<stdio.h>
功能:将与打开的输出流关联的所有缓冲区的内容写到相应的文件
中,之后清除所有这些缓冲区的当前内容。在调用_flushall 之后
保持所有流仍是打开的。
返回值:返回打开(输入和输出)的个数。
函数名:fopen
函数原型:FILE *fopen(const char *filename,const char
*mode);
参数:filename 文件名指针;mode 文件访问类型指针。
所需头文件:<stdio.he>
功能:打开mename 指定的文件。mode 指出文件访问的类型,其可
取字符的含义如下:“r”打开已有文件用于读,这时如果文件不存
在或不能找到则失败。“,”打开一个空文件用于写,如果给定的
文件存在,它的内容将被清除。“a”打开文件用于在文件末尾写
(添加),如果文件不存在则先建立它。“r+”打开文件用于读和写
(该文件必须存在)。“w+”打开一个空文件用于读和写,如果给定
的文件存在,它的内容将被清除。“a+”打开文件用于读和添加,
如果文件不存在,则建立它。当一个文件用“a”或“a+””访问类
型打开时,所有写操作从该文件的末尾开始。
返回值:返回一个打开流的指针;如出错则返回一个空指针。
函数名:fprintf
函数原型:int fprintf(FILE *stream,const char
*format[,argument]...);
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
参数:stream FILE 结构的指针;format 格式控制字符串;
argument 需要输出的内容。
所需头文件:<stdio.h>
功能:格式化并输出一系列字符和数值到输出流stream 中。每个
参数argument(如果存在)根据format 中对应的格式规范转换和输
出。format 参量与printf 中的该参量具有相同的语法和用途。
返回值:返回所写的字节数,当出现错误时函数返回一个负数。
函数名:fputc
函数原型:int fputc(int c,FILE *stream);
参数:c 要写的字符;stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:把单个字符写在与stream 关联的文件中位置指示符指示的
位置,并适当推进该指示符。如果该文件不支持定位请求或以添加
模式打开,该字符被添加到流的末尾。
返回值:返回所写的字符,返回EOF 值指出一个错误。
函数名:_fputchar
函数原型:int _fputchar (int c)
参数:要写的字符。
所需头文件:<stdio.h>
功能:写字符到stdout。
返回值:返回所写的字符;返回EOF 值指出一个错误。
函数名:fputs
函数原型:int fputs(const char *string,FILE *stream);
参数:string 要输出的字符串;stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:把string 写到输出流stream 的当前位置。
返回值:如果成功,返回一个非负数。出现错误时,返回EOF。
函数名:fread
函数原型:size_t fread(void *buffer,size_t size,
size_t count,FILE *stream);
参数;buffer 数据的存储位置;size 每项的字节数;count 要读
的最大项数;stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:从输人流stream 渎取最多count 个项,每项slze 字节,
并存储在buffer 中。
返回值:返回实际读取的项数。在到达count 之前如果出现错误或
遇到文件结尾则停止读取,这时实际读取的项数可能小于count。
函数名:freopen
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数原型:FILE *freopen(const char *path,const char
*mode,FILE *stream);
参数;path 新文件的路径;mode 文件访问许可;stream FILE 结
构的指针。
所需头文件:<stdio,h>
功能:关闭当前与stream 关联的文件,并将stream 重新赋给由
path 指定的文件。
返回值:返回最新打开的文件的指针。如果出现错误,最初的文件
被关闭并返回
NULL 指针值。
函数名:fscanf
函数原型:int fscanf(FILE *stream,const char
*format[,argument]...);
参数:streamFILE 结构的指针;format 格式控制字符串。format
控制对输入内容的格式转换,它与scanf 中的format 参量具有同
样的格式和功能。每个argument 必须是对应于format 中一个类型
指示符的类型的指针,作为读人数据的存放地址,是可选参量。
所需头文件:<stdio.h>
功能:从stream 的当前位置读数据到argument 值定的位置(如果
有)。
返回值:返回成功转换和存储的域个数,返回值不包括被渎但没有
分配存储位置的域。返回值0 指出所有域都没有分配存储位置。如
果出现错误,或者在转换之前到达文件流末尾,则返回值为EOF。
函数名:fseek
函数原型:int fseek(FILE *stream,long offset,int
origin);
参数:stream FILE 结构的指针;offset 距离起始位置origin 的
字节数;origin 起始位置。
所需头文件:<stdio.h>
功能:将与stream 关联的文件的读写位置指针(如果有)移动到新
位置,该新位置距离origin 位置offset 个字节。
返回值:如果成功,fseek 返回0;否则返回一个非0 值。
函数名:fsetpos
函数原型:int fsetpos(FILE *stream,const fpost *pos);
参数:stream FILE 结构的指针;pos 指向位置指示符的指针。
所需头文件:<stdio.h>
功能:fsetpos 函数设置stream 的文件读写位置指示符为pos 的
值,pos 是通过在此之前调用fgetpos 获取的。
返回值:如果成功,返回o;否则返回一个非0 值。
函数名:_fsopen
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数原型:FILE *_fsopen (const char *filename,const
char *mode,int shflag);
参数:filename 打开的文件名;mode 文件访问许可;shflag 允许
的共享类型。
所需头文件;<stdio.h>
功能;作为一个流打开Iilename 指定的文件并根据mode 和
shflag 参量的值准备用于共享读或写。
返回值:返回该流的指针。返回值NULL 指出一个错误。
函数名:ftell
函数原型:long ftell(FILE *stream)
参数:stream FILE 结构的指针。
所需头文件:<stdio,hT>
功能:ftell 函数获取与stream 关联的文件读写指针(如果有)的
当前位置,该位置表示为相对该流开始处的偏移量。
返回值;返回当前文件读写位置,有错误时返回-1L。
函数名:fwrite
函数原型:size_t fwrite(const void *buffer,size_t
size,size_t count,FILE *stream);
参数:buffer 被输出数据的起始地址;size 输出内容每项的字节
数;count 要输出的最大项数;stream FILE 结构指针。
所需头文件:<stdio.h>
功能:从buffer 写最多count 个项到输出流中,每个项长度为
size。
返回值:返回实际所写的项的个数。如果出现错误,它可能少于
count。如果出现错误,该文件位置指示符也是不确定的。
函数名:getc
函数原型: int getc(FILE *stream);
参数:stream FILE 结构指针,输入流。
所需头文件:<stdio.h>
功能和返回值:从输人流读取一个字符并返回所读字符,当出现读
错误或遇到文件结尾时返回EOF。
函数名:getchar
函数原型:int getchar(void);
所需头文件:<stdio.h>
功能和返回值:从stdin 读取一个字符并返回所读字符,当出现读
错误或遇到文件结尾时返回EOF。
函数名:gets
函数原型:char *gets(char *buffer);
参数:buffer 输入字符串的存储位置。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
所需头文件:<stdio.h>
功能:从标准输入流stdin 读取一行,并存储在buffer 中。该行
由直到第一个换行符(‘\n’)的所有字符组成,并包括该第一个换
行符,然后gets 在返回该行之前用空字符(‘\0’)代替换行符。
返回值:如果成功,返回buffers 如果有错误或遇到文件结尾则返
回NULL 指针。
函数名:_getw
函数原型:int _getw (FILE *stream);
参数:streamFILE 结构的指针。
所需头文件;<stdio.h>
功能:从与stream 关联的文件读取类型为int 的下一个二进制
值,并递增关联文件的读写指针(如果存在)到下一个未读字符。
返回值:返回所读整数值;返回EOF 表示有错误或文件结束。
函数名:printf
函数原型:int printf(eonst char *format[,
argument]...);
参数:format 格式控制字符串;argument 待输出的内容,任选参
数。
所需头文件:<stdio.h>
功能:格式化并输出一系列字符和数值到标准输出流stdout。如果
有参数argument 跟随format 字符串,该format 字符串必须包含
确定该参数输出格式的格式符。
返回值:返回输出的字符个数,如果出现错误则返回一个负数。
函数名:putc
函数原型:int putc(int c,FILE *stream);
参数:c 要写的字符;stream FILE 结构指针。
所需头文件:<stdio,h>
功能:写一个字符到流stream 中。
返回值;返回所写的字符;如果出现错误,返回EOF。
函数名:putchar
函数原型;int putchar(int c);
参数:c 要写的字符。
所需头文件;<stdio.h>
功能:写一个字符到stdout 中。
返回值:返回所写的字符;如果出现错误,返回EOF。
函数名:puts
函数原型:int puts(const char *string);
参数:string 要输出的字符串。
所需头文件:<stdio.h>
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:将string 写到标准输出流stdout,在输出流中用换行符
(‘\n’)代替字符串的结尾的空字符(‘\0’)。
返回值:如果成功,返回一个非负值;如果失败,返回EOF。
函数名:_putw
函数原型:int _putw (int binint,FILE *stream);
参数:binint 输出的二进制整数;stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:将int 类型的一个二进制值写到stream 的当前位置。
返回值:返回所写的值。返回EOF 只说明可能有错误,因为EOF 也
是一个合法的整数值。因此需要调用ferror 函数确认是否有错。
函数名:rewind
函数原型:void rewind(FILE *stream);
参数:stream FILE 结构的指针。
所需头文件:<stdio.h>
功能:重新定位与stream 关联的文件读写指针到文件开头。
返回值:无。
函数名:_rmtmp
函数原型:int _rmtmpp(void);
所需头文件:<stdio.h>
功能;清除当前目录中的所有临时文件;该函数仅删除那些由
tmpfile 建立的文件。仅在与建立临时文件相同的目录中使用它。
返回值:返回关闭的和删除的临时文件的个数。
函数名:scanf
函数原型:int scanf(const char *format[,
argument]...);
参数:format 格式控制字符串,控制对输入内容的格式转换。每个
argument 必须是对应于format 中一个类型指示符的类型的指针,
作为读人数据的存放地址,是可选参量。
所需头文件:<stdlih.h>
功能:从标准输入流stdin 读数据,并把所读数据写到argument
给定的位置
返回值:返回成功转换和存储的域的个数。返回值不包括已读但未
存储的域
出所有域都没有分配存储位置。错误时返回值为EOF。
函数名:setbuf
函数原型:void setbuf(FILE *stream,char *buffer);
参数:streamFILE 结构的指针,必须指向一个打开的没有读或写
的文件。buffer 用户分配的缓冲区指针,可以为NULL 或指向长度
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
为BUFSIZ 的字符数组,这里BUFSIZ 是定义在stdio.h 中的缓冲
区尺寸。
所需头文件:<stdio.h>
功能:控制stream 的缓冲。如果参数buffer 为NULL,该流是非
缓冲的。
函数名:_setmaxstdio
函数原型:int _setmaxstdio (int newmax);
参数;newmaxstdio 层新的同时打开文件的最大个数。
所需头文件:<stdio.h>
功能:改变stdio 层上可同时打开文件的最大个数。
返回值:如果成功,返回newmax;否则返回一1。
函数名:setvbuf
函数原型:int setvbuf(FILE *stream,char *buffer,int
mode,sizet size);
参数:stream FILE 结构指针,必须指向一个已打开但未进行过I
/O 操作的文件。buffer 指向一个用作缓冲区的数组,或者为
NULL。mode 缓冲模式,必须是IOFBF、IOLBF 或IONBF。SIZe 缓
冲区字节数,允许的范围是2~size<32768,提供给size 的值将在
内部被舍入到最接近的2 的倍数。
所需头文件:<stdio.h>
功能:控制stream 的缓冲和缓冲区大小。如果buffer 为NULL,
setvbuf 使用一个长度为size/(2*2)字节的自动分配的缓冲区。
如果mode 是IOFBF 或IOLBF(用于MSDOS),其含义是全缓冲,
size 用作缓冲区的尺寸;如果mode 是IONBF,该流是非缓冲的,
size 和buffer 被忽略。
返回值:如果成功返回o;如果指定了一个非法的缓冲区类型或大
小,则返回·—个非0 值。
函数名:_snprintf
函数原型:int _snprintf (char *buffer,size_t count,
const *format[.Argument] ...);
参数:buffer 要写人数据的目标地址;count buffer 中存储的最
多字节数;format 格式控制字符串;argument 要格式化并写入
buffer 的数据项,是任选参数。
所需头文件:<stdio.h>
功能:将数据格式化后写到字符串中:将每个argument 按照
format 指定的格式转换成字符串并存储在从buffer 开始的count
个字节中(包括添加的尾部的空字符‘\0’,除非count 为0 或格
式化字符串长度大于或等于count 个字符)。这里的格式符与
printf 中format 格式含义相同。如果被格式化和存储的字符串与
目的字符串之间有重叠,此函数的执行效果是不确定的。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
返回值:返回存储在buffer 中的字节个数,不计数据结尾的空字
符。如果需要存储数据的字节个数超过count,那么在buffer 中
存储count 个数据字节并返回一个负值。
函数名:sprintf
函数原型:int sprintf(char *buffer,const char
*format[.Argument] ...);
参数:buffer 要写人数据的目标地女L;format 格式控制字符
串;argument 要格式化并写入buffer 的数据项,是任选参数。
所需头文件:<stdio.h>
功能:将数据格式化后写到字符串中:将每个argument 按照
format 指定的格式转换成字符串并存储在从buffer 开始的内存
中。这里的格式符与printf 中format 参数具有同样的格式和功
能。如果被格式化和存储的字符串与目的字符串之间有重叠,则此
函数的执行效果是不确定的。
返回值:返回存储在buffer 中的字节数,不包含尾部的空字符。
函数名:sscanf
函数原型:int sscanf(const char *buffer,const char
*format[.Argument] ...);
参数:buffer 存储要被读取并转换的数据。format 格式控制字符
串。每个argument 必须是对应于format 中一个类型指示符的类型
的指针,作为读人数据的存放地址,是可选参量。
所需头文件:<stdio.h>
功能:按format 指定的格式,由buffer 读取字符数据并转换后存
储到每个argument 指定的位置中。每个argument 必须是与
format 中的类型指示符对应的类型变量的指针。format 与scanf
函数的format 参数具有同样的格式和功能。
返回值:返回成功转换和存储的数据个数。返回的值不包括已读但
未存储的域。返回值0 指出所有域都没有分配存储位置。如果出现
错误或在第一个转换之前到达字符串结尾,则返回值是EOF。
函数名:_tempnam
函数原型:char *_tempnam (char *dir,char *prefix);
参数:prefix 文件名前缀;dir 如果TMP 没定义,以此为目标目
录。
所需头文件:<stdio.h>
功能:产生一个在指定目录中使用的临时文件名。它与任何一个已
经打开的现有文件名都不相同。
返回值:返回产生的名称的指针。如果该名称不能建立或者存在一
个同名的文件,返回NUI-L。
函数名:tmpfile
函数原型:FILE *tmpfile(void);
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
所需头文件:<stdio.h>
功能:建立一个临时文件并返回该流的一个指针。如果该文件不能
打开,则返回一个NULI 指针。假设当前工作目录不被改变,在该
临时文件关闭时、程序正常终止时或调用rmtmp 时,会自动删除掉
该临时文件。
返回值:如果成功则返回一个流指针;否则返回一个NULL 指针。
函数名:tmpnan
函数原型:char *tmpnam(char *string);
参数:string 临时文件名的指针
所需头文件:<stdio.h>
功能:产生一个临时文件名,它与任何一个已经打开的现有文件名
都不相同。这个名称存储在strmg 中。如果string 为NULL,那么
这个结果保留在一个内部静态缓冲区,因此任何后面的调用都销毁
这个值。
返回值:返回产生的名称的指针;如果该名称不能建立或者存在一
个同名的文件则返回NUIL。
函数名:ungetc
函数原型:int ungetc(int c,FILE *stream);
参数:c 回放的字符;streamFILE 结构的指针。
所需头文件:<stdio.h>
功能:回放字符c 到stream 中并清除文件结尾指示符。该流必须
打开用于读。
该stream 上的后续读操作起始于c。
返回值:如果成功则返回参数c。如果c 不能回放或没有读字符,
该输人流不改变且返回EOF。
函数名:vfprintf
函数原型:int vfprintf(FILE *stream,const char
*format,valist argptr);
参数:stream FILE 结构的指针;format 格式符;argptr 参量表
的指针。
所需头文件:<stdio.h>和<stdarg.h>
功能:接受一个参量表的指针,然后格式化该给定的数据并将其写
到stream 中
返回值:返回所写的字符个数,不包括结尾的空字符;在错误时返
回一个负数。
函数名:vprintf
函数原型:int vprintf(const char *format,valist
argptr);
参数:format 格式符;argptr 参量表的指针。
所需头文件:<stdio.h>和<stdarg,h>
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:接受一个参量表的指针,然后格式化给定的数据并将其写到
stdout。
返回值:返回所写的字符个数,包括结尾的空字符。如果出现错误
则返回一个负数。
函数名:_vsnprintf
函数原型:int _vsnprintf (char *buffer,size_t count,
const char *format,valist
argptr);
参数:buffer 输出的存储位置;count 写的最多字符个数;
format 格式控制字符串;argptr 参量表的指针。
所需头文件:<stdio.h>和<stdargs.h>
功能:接受一个参量表的指针,然后格式化其中的数据并将其写到
buffer 所指的内存。
返回值:返回所写的字符个数,不包括结尾的空字符。在一个输出
错误时返回一个负数;如果所写的字节超过buffer 的长度,则写
count 个字节并返回-1。
函数名:vsprintf
函数原型:int vsprintf(char *buffer,const char
*format,valist argptr);
参数:buffer 输出的存储位置;format 格式符;argptr 参量表的
指针;count 写的最多字符个数。
所需头文件:<]stdio.h>和<stdarg.h> -
功能:接受一个参量表的指针,然后格式化其中的数据并将其写到
buffer 所指的内存。
返回值:返回所写的字符数,不包括结尾的空字符。出错时返回一
个负数。
B.7.1 低级I/O 函数
函数名:_close
函数原型:int _close (int handle);
参数:handle 指向打开文件的句柄
所需头文件:<io.h>
功能:关闭与句柄关联的文件。
返回值:如果文件成功关闭,返回0;否则返回-1;
函数名:_commit
函数原型:int _commit (int handle);
参数:handle 指向打开文件的句柄。
所需头文件:<io.h>
功能:强制操作系统把与handle 关联的文件写到磁盘,这个调用
确保指定的文件被立即刷新,而不由操作系统判断处理。
返回值:如果文件成功刷新到磁盘,返回0;否则返回-1。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:_creat
函数原型:int _creat (const char *filename,int
pmode);
参数:filename 新文件的名称~pmode 访问许可权设置。
所需头文件:<io.h>、<sys 八ypes.h>、<sys/stat.h>
功能:建立一个新文件或打开并截除一个现存文件。
返回值:如果成功,返回建立文件的句柄;否则返回-1。
函数名:_dup
函数原型:int _dup (int handle);
参数:handle 指向打开文件的句柄。
所需头文件:<io.h>
功能:使一个当前已打开的文件与第二个可用的文件句柄相关联。
在此文件上的操作可以通过任何相关联的句柄完成。
返回值:返回一个新的文件句柄。如果出现错误,返回1。
函数名:_dup2
函数原型:int _dup2 (int handlel,int handle2);
参数:handle 指向打开文件的句柄;handle2 任何句柄。
所需头文件:<io.h>
功能:强制handle2 与handle 指向同一个文件。如果handle2 此
前与另外一个文件相关,则此调用使该文件关闭。
返回值:如成功则返回0。如果出现错误,返回1。
函数名:_eof
函数原型:int _eof(int handle);
参数:handle 指向打开文件的句柄。
所需头文件:<io.h>
功能:确定与handle 关联的文件是否到达末尾。
返回值:如果当前位置是文件末尾,返回1;否则返回0。返回-1
值指出一个错误。
函数名:_lseek
函数原型:long _lseek (int handle,long offset,int
origin);
参数:handle 指向打开文件的句柄;offset 偏离origin 的字节
数;origin 读写指针移动的起始位置,必须是如下常量:SEEKSET
文件开头,SEEKCUR 当前文件指针位置,SEEKEND 文件结尾,它定
义在stdio.h 中。
所需头文件:<io.h>
功能;移动与handle 关联的文件的读写指针到离origin 处
offset 字节的新位置。文件上的下一个操作将在新位置进行。
返回值:返回新位置离文件开头的偏移量(以字节为单位);如出错
则返回一1L。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:_open
函数原型:int _open (constchar *filename,int oflag[,
int pmode]);
参数:filename 文件名;oflag 允许操作的类型;pmode 访问许可
模式
所需头文件:<io.h>
功能:打开filename 指定的文件,由oflag 指定用于读或写。
返回值:返回一个打开的文件句柄。如出错则返回-1。
函数名:_read
函数原型:int _read (int handle,void *buffer,unsigned
int count);
参数:handle 打开文件的句柄;buffer 数据的存储位置;count
最大字节个数。
所需头文件:<io.h>
功能:从与handle 关联的文件读最多count 个字节到buffer
中。读操作开始于文件读写指针的当前位置。在读操作之后,文件
指针指向下一个未读的字符。
返回值:返回所读字节数。如果文件中剩余的字节少于eonnt 或者
该文件以文本模式打开,则所读字节可以少于count。
函数名:_sopen
函数原型:int *_sopen (const char *filename,int
oflag,int shflag[,int pmode]);
参数:filemame 文件名~oflag 允许操作的类型;shflag 文件共
享类型;pmode 许可模式。
所需头文件:<io.h>
功能:打开filename 指定的文件,由oflag 和shflag 指定共享
方式及读写操作。返回值:返回一个打开的文件句柄。返回值为-1
表明一个错误。
函数名:_tell
函数原型:long _tell (int handle);
参数:handle 指向打开文件的句柄。
所需头文件:<io.h>
功能与返回值:获取与handle 关联的文件读写指针(如果有)的当
前位置,该位置被表示为距离文件开头的字节数;返回一1L 表示有
错。
函数名:_umask
函数原型:int _umask (int pmode);
参数:pmode 缺省的访问许可设置。
所需头文件:<io.h>和<sys/stat.h>和<sys/types.h>
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:设置当前进程的文件许可掩码为pmode 指定的模式,该文件
许可掩码用于修改由creat,open 或sopen 建立的新文件的许可设
置。
返回值:返回pmode 以前的值。
函数名:_write
函数原型:int _write (int handle,const void *buffer,
unsigned int count);
参数:handle 文件的句柄;buffer 数据的存储位置;count 最大
字节个数。
所需头文件:<io.h>
功能:写数据到文件中。
返回值:返回实际所写的字节数,如果出现错误返回-1。
B.7.1 控制台和端口I/O 函数
函数名:_cgets
函数原型:char *_cegets (char *buffer);
参数:buffer 必须是一个字符串的指针,buffer[0]中必须存放着
字符串的最大长度。该数组必须有足够的空间容纳将要读人的字符
串内容、结束符‘\0’,以及额外的两字节。
所需头文件:<conio.h>
功能:从控制台读一个字符串,并将该字符串和它的长度存储到
buffer 所指的位置。buffer[0]中存放字符串的最大长度(字符个
数),buffer[1]中存放字符串的实际长度,字符串内容存放在从
buffer[2]开始的位置。如果读到CR—LF,便自动转换为‘\0’。
返回值:返回该字符串起始指针。
函数名:_cprintf
函数原型:int _cprintf f(const char *format[,
argument]...);
参数:format 格式控制字符串。argument 需要输出的内容,是任
选参数。
所需头文件:<conio.h>
功能:格式化和输出一序列字符和数值到控制台,使用puteh 函数
输出字符。每个argument(如果有)根据format 中指定的格式转换
和输出。
返回值:返回输出的字符数目。
函数名:_cputs
函数原型:int _cputs (const char *string);
参数:string 要输出的字符串。
所需头文件:<conio.h>
功能:将由string 所指的以空字符结尾的字符串直接送到控制
台,但不自动在该字符串末尾添加一个回车换行(CR—LF)组合。
返回值:如果成功,返回0;如果失败,返回一个非0 值。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:_cscanf
函数原型:int _cscanf (const char *format[,
argument]...);
参数:format 格式控制字符串。argument 可选参数,必须是对应
于format 中类型标识符的类型的指针。
所需头文件:<conio.h>
功能:直接从控制台读数据存储到argument 指定的位置。使用一
getche 函数读字符。format 控制着对输入域的解释,其形式和作
用与scanf 函数中的format 参数一样。
返回值:返回成功转换和存储的域数目。返回值不包括已读取但没
有存储的域;读到文件末尾时返回值为EOF。
函数名:_getch
函数原型:int _getch (void);
所需头文件:<conio.h>
功能:从控制台读单个字符而不回显。
返回值:返回所读字符。
函数名:_getche
函数原型;int _getche (void);
所需头文件:<conio.h>
功能:从控制台读单个字符并回显。
返回值:返回所读字符。
函数名:_inp,_inpw,_inpd
函数原型:int _inp (unsigned short port);
unsigned short _inpw (unsigned short port)
unsigned long _inpd (unsigned short port);
参数:port 端口号。
所需头文件:<conio.h>
功能和返回值:_inp 从指定的I/O 端口读一个字节,_inpw 从指
定的I/O 端口读2 字节的字;_inpd 从指定的I/O 端口读双精度
字。
返回值:从port 返回所读的内容。
函数名:_kbhit
函数原型;int _kbhit (void);
所需头文件:<conio.h>
功能和返回值:如果按了一个键,_kbhit 返回一个非。值;否则返
回o。如果该函数返回非0 值,说明缓冲区中等待着一个击键,此
后程序可以调用getch 或getche 读取该击键。
函数名:_outp,_outpw,_outpd
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数原型:int outp(unsigned short port,int datatype);
unsigned short outpw(unsigned short port,unsigned
shortdataword);
unsigned long outpd(unsigned short port,unsigned long
dataword);
参数;port 端口号;databyte 需要输出的数据。
所需头文件:<conio.h>
功能:_outp 写一个字节到指定的I/O 端口;_outw 写一个字到指
定的I/O 端口;_outpd 写一个双字到指定的I/O 端口。
返回值:返回输出的数据。
函数名:_putch
函数原型:int _putch (int c);
参数:c 要输出的字符。
所需头文件:<conio.h>
功能:putch 直接把字符c 写到控制台(没有缓冲的)。
返回值:如果成功,返回c;如果不成功,则返回EOF。
函数名、ungeteh
函数原型:mt—ungetch(iht c)
参数:c 回送的字符。
所需头文件:<eonio,h>
功能:回送字符c 到控制台,导致c 是getch 或getche 所读的下
一个字符。
返回值:如果成功,返回字符c。返回值EOF 指出一个错误。
B.8 进程控制函数
函数名:abort
函数原型:void abort(void)
所需头文件:<process.h>或<stdlib.h>
功能:终止进程。
返回值:缺省情况下,不将控制返回给调用进程,终止当前进程并
返回退出码3
函数名:assert
函数原型:void assert(int expression);
参数:expression 求值为非0 或0 的表达式。
所需头文件:<assert.h>
功能:一般用于程序开发过程中识别逻辑错误,仅当程序操作不正确
时让expression 参量的值为false,然后输出一个诊断消息并调
用abort 终止该程序。
函数名:exit
函数原型:void exit(int status);
参数:status 退出状态。
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
所需头文件:<process.h>或<stdlib.h>
功能:终止进程。
函数名:system
函数原型:int system(const char*command)
参数:command 要执行的命令。
所需头文件:<process.h>或<stdlib.h>
功能:把command 传给命令解释器,像执行操作系统命令那样执行
该字符串。
返回值:返回该命令解释器所返回的值,且当该命令解释器返回0
时它返回0。返回值-1 指出一个错误。
B.9 查找和分类函数
函数名:bsearch
函数原型:void*bsearch(const void *key,const
void*base,size_t
width,int(_cdeel*compare)(const void*eleml,eonst
void*elem2));
参数:key 查找的对象;base 指向查找数据的起始位置的指针;
num 元素个数;width 元素宽度(字节数);compare 比较两个元素
eleml 和elem2 的函数;eleml 查找的关键字指针;elem2 与关键
字比较的数组元素的指针。
所需头文件:<stdlib.h>和<search.h>
功能:对具有num 个元素,每个元素的宽度为width 字节的已排序
的数组执行二分查找。在查找中调用compare 函数一次或多次,每
次都传送两个数组元素的指针。compare 函数比较这两个元素,然
后返回如下值之一;<0,eleml 小于elem2;=0,eleml 等于
elem2;>0,eleml 大于elem2。
返回值:在由base 所指向的数组中如果出现key,返回指向key
的指针;如果key 未找到,该函数返回NULL;如果该数组不是升序
排列或包含有相同关键字的重复记录,其执行结果是不可预料的。
函数名:_lfind
函数原型:void *_lfind(const void * key,const void
*base,unsigned int *num,unsigned int width,
int(_cdecl*compare)(const void*eleml,const
void*clem2));
参数:key 查找的对象;base 查找数据的起始地址;num 数组元素
个数;width 数组元素的宽度(字节数);compare 比较函数的指
针;eleml 查找的关键字的指针;elem2 要进行关键字比较的数组
元素的指针。
所需头文件:<search.h>
返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
功能:在有num 个元素且每个元素宽width 个字节的数组中线性查
找key 值。在查找中调用compare 函数一次或多次,每次调用都传
送两个数组元素。compare 比较元素然后返回非0 值表示它们不
同,或返回0 表示两元素相同。不同于bsearch,lfind 不需要存
储数组。
返回值:如果关键字找到了,返回数组base 中关键字等于key 的
元素的指针;如果关键字未找到,返回NULL。
函数名:_lsearch
函数原型:void *(_lsearch(const void *key,void *
base,unsigned int *num,unsigned int width,
int((cdel * compare)(coast void*eleml,const
void*elem2));
参数:key 查找的对象:base 查找的数组的起始地址;num 元素个
数;width 每个数组元素的宽度(字节数);compare 比较函数的指
针;elem1 查找的关键字的指针;elem2 与关键宇比较的数组元素的
指针。
所需头文件:<search.h>
功能:在base 所指的数组中线性查找值key。在查找中调用
compare 函数一次或多次,每次调用都传送两个数组元素。
compare 比较元素,然后返回非0 值表示它们不同,或返回0 表示
两元素相同。不同于bseareh,_lsearch 不需要存储的数组。
返回值:如果关键字找到了,返回数组base 中关键字等于key 的
元素的指针。如果关键字未找到,_lsearch 将key 加到数组末尾
并增大num,同时返回最新加到该数组末尾的项的指针。
函数名:qsort
函数原型:void qsort(void*base,size_t num,size_t
width,int(_cdecl*compare)(corlat void*eleml,coast
void*elem2));
参数;base 目标数组的起始地址;DUra 数组元素尺寸;width 元
素字节数;compare 比较函数;eleml 查找的关键字的指针;
elem2 与关键字比较的数组元素的指针。
所需头文件:<search.h>
功能:实现对具有auto 个元素、每个元素宽width 个字节的数组
的快速排序,用排序后的元素覆盖这个数组。在排序过程中调用
compare 函数一次或多次,每次调用传给它两个数组元素的指针:
compare((void*)eleml,(void*)elem2);compare 函数必须比
较元素,然后返回如下值之一:<0,eleml 小于elem2;=0,
eleml 等于elem2>0,eleml 大于elem2。
该数组以升序排序。
B.10 字符串操作函数
函数名:sprintf 返回
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数原型:int sprintf(char*buffer,
参数:buffer 要写人数据的目标地址buffer 的数据项,是任选参
数。
所需头文件:<stdio.h>
功能:将数据格式化后写到字符串中:将每个argument 按照
format 指定的格式转换成字符串并存储在从buffer 开始的内存
中。这里的格式符与printf 中的format 参数具有同样的格式和功
能。如果被格式化和存储的字符串与目的字符串之间有重叠,此函
数的执行效果是不确定的。
函数名:strcat
函数原型:char *strcat(char*strDestination,const char
*strSource);
参数:strDestination 以空字符结尾的目的字符串strSource 以
空字符结尾的源字符串。
所需头文件:<string.h>
功能:将strSource 添加到strDestination,并用一个空字符结
束该结果字符串。用strSource 的首字符覆盖strDestination 的
结尾空字符。当字符串被拷贝或添加时不执行上溢出检测。如果源
和目的字符串重叠,strcat 的行为是不确定的。
返回值:返回目的字符串。
函数名:strchr
函数原型:char*strchr(const char*string,int c);
参数:string 以空字符结尾的源字符串口要查找的字符。
所需头文件:<string.h>
功能:查找string 中c 的第一次出现,在查找中包括结尾的空字
符。
返回值:返回string 中第一次出现的指针;如果c 未找到,则返
回NULl。
函数名:strcmp
函数原型:int strcmp(const char *string1,const
char*string2)
参数:stringl,string2 被比较的以空字符结尾的字符串。
所需头文件:<string.h>
功能:按词典顺序比较stringl 和string2,并返回一个值指出它
们之间的关系。
返回值:返回值<0,stringl 小于string2;返回值=0,stringl
等于string2;返回值〉0,stringl 大于string2。
函数名:strcpy
函数原型:char*strcpy(char *strDestination,const
cha*strSource)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
参数:strDestination 目的字符串;strSource 以空字符结尾的源
字符串。
所需头文件;<string.h>
功能:把源字符串strSource(包括结尾的空字符)拷贝到
strDestination 所指的位置。在字符串被拷贝或添加时不执行上
溢出检测。如果源和目的字符串重叠,strcpy 的行为是不确定的。
返回值:返回目的字符串,没有用于指出错误的返回值
函数名:_strdup
函数原型:char*_strdup(const char*strSource);
参数:strSource 以空字符结尾的源字符串。
所需头文件:<string.h>
功能:为strSource 的拷贝分配存储空间,然后把strSource 拷
贝到分配的空间中。
返回值:返回复制的字符串存储位置的指针。如果该存储不能分
配,则返回NULL。
函数名:strerror
函数原型:char*strerror(int errnum);
参数:errnum 错误编号。
所需头文件:<string.h>
功能和返回值:把errnum 映射成一个错误消息字符串,并返回该
字符串的指针。
函数名:strftime
函数原型:size_t strftime(char *strDest,size_t
maxsize,const char*format,struct tm*timeptr);
参数:strDest 输出字符串。maxsize 字符串的最大长度;format
格式控制字符串timeptr tm 数据结构
所需头文件:<time.h>
功能:根据ormat 参数格式化timeptr 中的tm 时间值并把它存储
在strDest 缓冲区中,至多maxsize 个字符放在该字符串中。
返回值:如果结果字符个数(包括结尾的空字符)不超过maxsize,
则strftime 返回strDest 中放置的字符个数;否则,返回0。
函数名:_stricmp
函数原型:int _stricmp(const char*string1,const char
*string2);
参数:string1,string2 要比较的以空字符结尾的字符串。
所需头文件:<string.h>
功能:忽略大小写来比较两个字符串。_strlcmp 函数以词典次序比
较stringl 和string2 的小写版本,并返回一个值指出它们之间的
关系。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
返回值:返回值<0,stringl 小于string2;返回值=0,stringl
等于string2;返回值>0,stringl 大于string2。
函数名:strlen
函数原型:sizet strlen(const char*string);
参数:string 以空字符结尾的字符串。
所需头文件:<string.h>
功能和返回值:返回string 中的字符个数,不包括尾部NULL。没
有指出错误的返回值。
函数名:_strlwr
函数原型:char*_strlwr(char *string);
参数:string 需要转换成小写的以空字符结尾的字符串。
所需头文件:<string.h>
功能:将string 中的任何大写字母转换成小写,其它字符不受影
响。
返回值:返回转换后的字符串的指针。因为不修改位置的指针相
同。没有返回值指出错误。
函数名:strncat
函数原型:char*strncat(char*strDest,const char*
strSource,size_t count);
参数:strDest 以空字符结尾的目的字符串;strSource 以空字符
结尾的源字符串count 添加字符的个数。
所需头文件:<string.h>
功能:将strSouree 所指向的字符串中至多前count 个字符添加
到strSource 中,strDest 的首字符覆盖strDest 中结尾的空字
符。如果添加count 个字符之前strSource 中有一个空字符出现,
则添加strSource 中所有字符直到该空字符。其结果字符串以空字
符结尾。如果源字符串与目的字符串之间发生重叠,函数的行为是
不确定的。
返回值:返回目的字符串的指针;没有返回值则表明出借。
函数名:strncmp
函数原型:int strncmp(const char*stringl,const
char*string2,size_t count)
参数:stringl,string2 比较的字符串;count 比较的字符的个
数。
所需头文件:<string.h>
功能:按词典顺序比较stringl 和string2 的前count 个字符,
并返回一个值指出串之间的关系。大小写敏感。
返回值:<0,stringl 串小于string2 串。=0,stringl 串等于
string2 串;>0,stringl 大于string2 串。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:strncpy
函数原型:char*strncpy(char*strDest,const
char*strSource,size_t count)
参数:strDest 目的字符串;strSource 源字符串;count 拷贝的
字符个数。
所需头文件:<string.h>
功能:将strSource 的前count 个字符拷贝到strDest 中并返回
strDest。如果count 小于或等于strSource 的长度,空字符不自
动添加到拷贝的字符串中。如果count 大于strSource 的长度,目
的字符串用空字符填充直到count 的长度。如果源和目的字符串重
叠,则strncpy 的行为是不确定的。
返回值:返回strDest。没有返回值则表明出错。
函数名:_strnicmp
函数原型:int_strnicmp(const char*stringl,const char
*string2)
参数:stringl,string2 以空字符结尾的字符串;count 比较字
节个数。
所需头文件:<string.h>
功能:strnicmp 函数以词典式次序比较stringl 和string2 的前
count 个字节,比较过程不考虑大小写。strnicmp 是strncmp 的
大小写不敏感版本。
返回值:<0,stringl 串小于string2 串;=0,stringl 串与
string2 串相等;>0,stringl 串大于string2 串。
函数名:_strnset
函数原型:char *_strnset(char*string,int c,size_t
count);
参数:string 需要改变的字符串;c 设置字符;count 设置的字符
个数
所需头文件:<string.h>
功能:将string 的前count 个字符设置为c(转换为char)。如果
count 大于string 的长度,用string 的长度代替count。
返回值:返回一个改变后的字符串的指针。
函数名:strrchr
函数原型:char*strrchr(const char*string,int c);
参数:string 以空字符结尾的被查找的字符串;c 要查找的字符。
所需头文件:<string.h>
功能:查找string 中c(转换成char)的最后一次出现。查找过程
包括结尾的空字符
返回值:返回指向string 中最后出现的c 的指针;如果c 未找到
则返回NULL。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
函数名:_strrev
函数原型:char *_strrev(char *string);
参数:string 要逆转的以空字符结尾的字符串。
所需头文件:<string.h>
功能:将string 中字符反序排列。结尾的空字符保留在原位置。
返回值:返回改变后的字符串的指针。没有返回值则说明出错。
函数名:_strset
函数原型:char*_strset(char*string,int c);
参数:string 要设置的以空字符结尾的字符串;c 设置字符。
所需头文件:<string,h>
功能:将string 中的所有字符都设置为c(转换成char),结尾的
空字符除外。
返回值:返回一个改变后的字符串的指针。没有返回值则说明出
错。
函数名:strstr
函数原型:char*strstr(const char*string,const
char*strCharSet);
参数:string 要在其中进行查找的以空字符结尾的字符
串;strCharSet 要查找的以空字符结尾的字符串。
所需头文件:<string.h>
功能和返回值:返回strCharSet 在string 中第一次出现的起始
地址,如果strCharSet 不在string 中出现,则返回NULL。
函数名:_strupr
函数原型:char*_strupr(char *string)
参数:string 要转换成大写的字符串。
所需头文件:<string.h>
功能:将string 中的每个小写字母就地转换成大写字母,其它字
符不受影响。
返回值:返回转换后的字符串的指针;没有返回值则说明出错。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值