常用系统函数C语言

常用系统函数

常用系统函数.......................................................................................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> -

功能:接受一个参量表的指针,然后

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值