c语言常用系统函数

来源:互联网 发布:优化推广 编辑:程序博客网 时间:2024/06/04 19:06

转:http://blog.163.com/black_ljz/blog/static/51022262200942611423394/


常用系统函数

常用系统函数.......................................................................................1

附录B....................................................................................................2

常用系统函数................................................................................................2

B.1 缓冲区操作函数.....................................................................................2

B.2 字符分类函数........................................................................................4

B.3数据转换函数..........................................................................................6

B.4目录控制函数..........................................................................................9

B.5 文件处理函数.......................................................................................11

B.6 数学函数...............................................................................................15

B.7 输入和输出函数...................................................................................21

B.8 进程控制函数.......................................................................................38

B.9 查找和分类函数....................................................................................39

B.10 字符串操作函数.................................................................................40

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

附录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

返回

返回

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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刚下高速限行怎么办 西安限号外地车怎么办 深圳下高速限行怎么办 物业断业主的电怎么办 物业要求拆除外晾衣架怎么办 安置费一次给了房子没建好怎么办 虎牙充值不到账怎么办 平安保险交20年怎么办 u盘里东西乱码了怎么办 手机指环支架松了怎么办 运动完放屁很臭怎么办 腾讯柒个我要会员怎么办 海风吹的变黑了怎么办 冻豆角炖不烂糊怎么办 腿被热水烫了怎么办 肉和冰箱冻住了怎么办 解冻的肉臭了怎么办 临时用电电缆线破皮怎么办 阳台按自来水墙面脱落怎么办 墙被暖气熏黑了怎么办 下水管比地砖低怎么办 马桶下水管短了怎么办 下水管比马桶低怎么办? 寻常疣液氮冷冻后该怎么办 寻常疣冷冻后起水泡胀痛怎么办 冷冻后大水泡痒怎么办 19岁的宫颈糜烂怎么办 发面酸了没有碱怎么办 面发时间长酸了怎么办 丽珠兰打完红肿怎么办 美的冰柜冷藏室结冰怎么办 胃下午和晚上痛怎么办 二胡弓毛粗拉外弦触到里弦怎么办 电视成黑白的了怎么办 城市居民无钱入社保医保怎么办 老婆说离婚又找不到怎么办 爱一个人太累了怎么办 车凹陷漏底漆了怎么办 燕子窝掉下来了怎么办 文科没考上一本怎么办 学校午休小学孩子吵闹怎么办