关键词不能为空

当前您在: 主页 > 英语 >

C语言库函数参考手册

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 02:18
tags:

-

2021年2月28日发(作者:amp)


C


语言库函数参考手册



转载说明:可能有些函数已经过时,但从学习的角度来看,还是有一定的参考价值。




分类函数


,


所在函数库为


ctype.h


int isalpha(int ch)



ch

< br>是字母


('A'-'Z','a'-'z')


返回非


0



,


否则返回< /p>


0


int isalnum(int ch)



ch


是字母


('A'-'Z ','a'-'z')


或数字


('0'-'9')



返回非


0



,


否则返回


0


int isascii(int ch)

< br>若


ch


是字符


(ASCII


码中的


0-127)


返回非


0



,


否则返回


0


int iscntrl(int ch)



ch


是作废字符


(0x7F)


或普通控制字符


(0x00-0x1F)



返回非


0



,


否则返回


0


int isdigit(int ch)



ch

< br>是数字


('0'-'9')


返回非


0



,


否则返回

0


int isgraph(int ch)



ch


是可打印字符


(


不含空格


)(0x21-0x7E)


返回非

< br>0



,


否则返回


0


int islower(int ch)



ch


是小写字母


('a'-'z')< /p>


返回非


0



,< /p>


否则返回


0


int isprint(int ch)



ch

< br>是可打印字符


(


含空格


)(0x 20-0x7E)


返回非


0



,


否则返回


0


int ispunct(int ch)



ch

< br>是标点字符


(0x00-0x1F)


返回非


0



,


否则返回

< p>
0


int isspace(int ch)



ch


是空格


(' '),


水平制表符


('t'),


回车符


('r'),



走纸换行


('f'),


垂直制表符

('v'),


换行符


('n')



返回非


0



,


否则返回


0


int isupper(int ch)



ch

< br>是大写字母


('A'-'Z')


返回非

< br>0



,


否则返回


0


int isxdigit(int ch)



ch



16


进 制数


('0'-'9','A'-'F','a'-'f')


返 回非


0



,



否则返回


0


int tolower(int ch)



ch

< br>是大写字母


('A'-'Z')


返回相应的小写字母


('a'-'z')


int toupper(int ch)



ch


是小写字母

('a'-'z')


返回相应的大写字母


('A'-'Z' )



数学函数


,

所在函数库为


math.h



st dlib.h



string.h


、< /p>


float.h


int abs(int i)


返回整型参数


i


的绝对值



double cabs(struct complex znum)


返回复数


znum


的绝对值

< p>


double fabs(double x)


返回双精度参数


x


的绝对值

< p>


long labs(long n)


返回长整型参数


n


的绝对值

< p>


double exp(double x)


返回指数函数


ex


的值



double frexp(double value,int *eptr)


返回


value=x*2n



x


的值


,n


存贮在


eptr




double ldexp(double value,int exp);


返回


value*2exp


的值



double log(double x)


返回


logex


的值

< br>


double log10(double x)


返回


log10x


的值



double pow(double x,double y)


返回


xy


的值



double pow10(int p)


返回


10p


的值



double sqrt(double x)


返回


+



x< /p>


的值



double acos(double x)


返回


x


的反余弦


cos-1(x)



,x


为弧度



double asin(double x)


返回


x


的反正弦


sin-1(x)



,x


为弧度



double atan(double x)


返回


x


的反正切


tan-1(x)



,x


为弧度



double atan2(double y,double x)


返回


y/x


的反 正切


tan-1(x)



,y



x


为弧度



double cos(double x)


返回


x


的余弦


cos(x)



,x


为弧度

< p>


double sin(double x)


返回


x


的正弦


sin(x)



,x


为弧度

< p>


double tan(double x)


返回


x


的正切


tan(x)



,x


为弧度

< p>


double cosh(double x)


返回


x


的双曲余弦

cosh(x)



,x


为弧度



double sinh(double x)


返回


x


的双曲正弦

sinh(x)



,x


为弧度



double tanh(double x)


返回


x


的双曲正切

tanh(x)



,x


为弧度



double hypot(double x,double y)


返回直角三角形斜边的长度


(z),


x



y


为直角边的长度


,z2=x2+y2


double ceil(double x)


返回不小于


x


的最小整数



double floor(double x)


返回不大于


x


的最大整数



void srand(unsigned seed)


初始化随机数发生器



int rand()


产生一个随机数并返回这个数



double poly(double x,int n,double c[])


从参数产生一个多项式



double modf(double value,double *iptr)


将双精度数


value


分解成尾数和阶



double fmod(double x,double y)


返回


x/y


的余数



double frexp(double value,int *eptr)


将双精度数


value


分成尾数和阶



double atof(char *nptr)


将字符串


nptr


转换成浮点数并返回 这个浮点数



double atoi(char *nptr)


将字符串


npt r


转换成整数并返回这个整数



double atol(char *nptr)


将字符串


nptr


转换成长整数并返回 这个整数



char *ecvt(double value,int ndigit,int *decpt,int *sign)



将浮点数


value


转换成字符串并返 回该字符串



char *fcvt(double value,int ndigit,int *decpt,int *sign)



将浮点数


value


转换成字符串并返 回该字符串



char *gcvt(double value,int ndigit,char *buf)



将数


value


转换成字符串并存于


buf



,


并返回< /p>


buf


的指针



char *ultoa(unsigned long value,char *string,int radix)



将无符号整型数


value


转换成字符串并返回该字符串


,radix


为转换时所用基数



char *ltoa(long value,char *string,int radix)



将长整型数


value


转换成字符串并返回该字符串

< p>
,radix


为转换时所用基数



char *itoa(int value,char *string,int radix)



将整数

value


转换成字符串存入


string,radix< /p>


为转换时所用基数



double atof(char *nptr)


将字符串


nptr


转换成双精度数


,


并返回这个数


,


错误返回


0


int atoi(char *nptr)


将字符串


nptr


转换成整型数


,


并返回这个数

< p>
,


错误返回


0


long atol(char *nptr)


将字符串


nptr


转换成长整型数


,


并返回这个数


,


错误返回


0


double strtod(char *str,char **endptr)< /p>


将字符串


str


转换成双精度数


,


并返回这个数


,


long strtol(char *str,char **endptr,int base)


将字符串


str


转换成长整型数


,



并返回这个数


,


int matherr(struct exception *e)



用户修改数学错误返回信息函数


(


没有 必要使用


)


double _matherr(_mexcep why,char *fun,double *arg1p,


double *arg2p,double retval)


< /p>


用户修改数学错误返回信息函数


(


没有必 要使用


)


unsigned int _clear87()


清除浮点状态字并返回原来的浮点状态



void _fpreset()


重新初使化浮点数学程序包



unsigned int _status87()


返回浮点状态字



< br>目录函数


,


所在函数库为


dir .h



dos.h


int chdir(char *path)


使指定的目录


path


(如


:


)变成当前的工作目录


,





功返回


0


int findfirst(char *pathname,struct ffblk *ffblk,int a ttrib)


查找指定的文件


,


成功< /p>




返回


0


pathname


为指定的目录名和文件名


,




ffblk


为指定的保存文件信息的 一个结构


,


定义如下


:



┏━━━━━━━━━━━━━━━━━━┓





struct ffblk






{






char ff_reserved[21]; /*DO S


保留字


*/






char ff_attrib; /*


文件属性


*/






int ff_ftime; /*


文件时间


*/






int ff_fdate; /*


文件日期


*/






long ff_fsize; /*


文件长度


*/






char ff_name[13]; /*


文件名


*/






}





┗━━━━━━━━━━━━━━━━━━┛



attrib


为文件属性


,


由以下字符代表




┏━━━━━━━━━┳━━━━━━━━┓





FA_RDONLY


只读文件┃


FA_LABEL


卷标号┃





FA_HIDDEN


隐藏文件┃


FA_DIREC


目录







FA_SYSTEM


系统文件┃


FA_ARCH


档案






┗━━━━━━━━━┻━━━━━━━━┛





:


struct ffblk ff;


findfirst(



int findnext(struct ffblk *ffblk)


取匹配< /p>


finddirst


的文件


,

< p>
成功返回


0


void fumerge(char *path,char *drive,char *dir,char *name,char *ext)



此函数通 过盘符


drive(C:



A:



),


路径


dir( TC



BCLIB


< br>),



文件名


n ame(TC



WPS



),


扩展名


ext(.EXE



.COM



)

组成一个文件名




存与


path



.


int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)



此函数将文件名


path


分解成盘符< /p>


drive(C:



A:



),


路径


dir(TC



BCLIB



) ,



文件名


name( TC



WPS



),


扩展名


ext(.EXE



.COM



),


并 分别存入相应的变量中


.


int getcurdir(int drive,char *direc)


此函数返回指定驱动器的当前工作目录名称



drive


指定的驱动器

< br>(0=


当前


,1=A,2=B,3=C

< br>等


)


direc


保存指定驱动器当前工作路径的变量



成功返回


0


char *getcwd(char *buf,iint n)


此函数取当前工作目录并存入


buf



,


直 到


n


个字




节长为为止


.


错误返回


NULL


int getdisk()


取当前 正在使用的驱动器


,


返回一个整数


(0 =A,1=B,2=C



)


int setdisk(int drive)


设置要使用的驱动器


drive(0=A,1=B,2=C



),



返回可使用驱动器总数



int mkdir(char *pathname)


建立一个新的目录


pathname,


成功返回


0


int rmdir(char *pathname)


删除一个目录


pathname,


成功返回< /p>


0


char *mktemp(char *template)


构造一个当前目录上没有的文件名并存于


template




char *searchpath(char *pathname)


利用

MSDOS


找出文件


filename

所在路径


,


,


此函 数使用


DOS



PATH


变量


,


未找到文件返回


NU LL



进程函数


,

< br>所在函数库为


stdlib.h



process.h


void abort()


此函数 通过调用具有出口代码


3



_exit


写一个终止信息于


stderr





并异常终止程序。无返回值



int exec


…装入和运行其它程序



int execl( char *pathname,char *arg0,char *arg1,



,char *argn,NULL)


int execle( char *pathname,char *arg0,char *arg1,



,


char *argn,NULL,char *envp[])


int execlp( char *pathname,char *arg0,char *arg1,



,NULL)


int execlpe(char *pathname,char *arg0,char *arg1,



,NULL,char *envp[])


int execv( char *pathname,char *argv[])


int execve( char *pathname,char *argv[],char *envp[])


int execvp( char *pathname,char *argv[])


int execvpe(char *pathname,char *argv[],char *envp[])


exec


函数族装入并运行程序


pathname


,并将参数



arg0(ar g1,arg2,argv[],envp[])


传递给子程序


,


出错返回


-1




exec


函数族中


,


后缀


l



v



p



e< /p>


添加到


exec


后,



所指定的函数将具有某种操作能力




有后缀


p


时,函数可以利用


DOS



PATH


变 量查找子程序文件。



l


时,函数中被传递的参数个数固定。



v


时,函数中被传递的参数个数不固定。



e


时,函数传递指定参数


envp


,允许改变子进程的环境,




无后缀


e


时,子进程使用当前程序的环境。




void _exit(int status)


终止当前程序


,


但不清理现场

< br>


void exit(int status)


终 止当前程序


,


关闭所有文件


,


写缓冲区的输出


(


等待输出

),



并调用任何寄存器的



出口函数



无返回值




int spawn


…运行子程序



int spawnl( int mode,char *pathname,char *arg0,char *arg1,



,


char *argn,NULL)


int spawnle( int mode,char *pathname,char *arg0,char *arg1,



,


char *argn,NULL,char *envp[])


int spawnlp( int mode,char *pathname,char *arg0,char *arg1,



,


char *argn,NULL)


int spawnlpe(int mode,char *pathname,char *arg0,char *arg1,



,


char *argn,NULL,char *envp[])


int spawnv( int mode,char *pathname,char *argv[])


int spawnve( int mode,char *pathname,char *argv[],char *envp[])


int spawnvp( int mode,char *pathname,char *argv[])


int spawnvpe(int mode,char *pathname,char *argv[],char *envp[])


spawn


函数族在


mode


模式下运行子程序


pathname ,


并将参数



arg 0(arg1,arg2,argv[],envp[])


传递给子程序


.


出错返回


-1


mode


为运行模式



mode



P_WAIT


表示在子程序运行完后返回本程序



P_NOWAIT


表示在子程序运行时同时运行本程序


(


不可用


)


P_OVERLAY


表示在本程序退出后运行子程序





spawn


函数族中


,


后缀


l< /p>



v



p



e


添加到


spaw n


后,




所指定的函数将具有某种操作能力




有后缀


p



,


函数利用

DOS



PATH


查找子程序文件



l



,


函数传递的参数个数固定


.


v



,


函数传递的参数个数不固定


.


e



,


指定参数

envp


可以传递给子程序


,


允许 改变子程序运行环境


.



当无后缀


e



,


子程序使用本程序的环境


.



int system(char *command)



MSDOS


命令


command


传递给


DOS


执行




转换子程序


,


函数库为


math.h



stdli b.h



ctype.h


< p>
float.h


char *ecvt(double value,int ndigit,int *decpt,int *sign)



将浮点数


value


转换成字符串并返 回该字符串



char *fcvt(double value,int ndigit,int *decpt,int *sign)



将浮点数


value


转换成字符串并返 回该字符串



char *gcvt(double value,int ndigit,char *buf)



将数


value


转换成字符串并存于


buf



,


并返回< /p>


buf


的指针



char *ultoa(unsigned long value,char *string,int radix)



将无符号整型数


value


转换成字符串并返回该字符串


,radix


为转换时所用基数



char *ltoa(long value,char *string,int radix)



将长整型数


value


转换成字符串并返回该字符串

< p>
,radix


为转换时所用基数



char *itoa(int value,char *string,int radix)



将整数

value


转换成字符串存入


string,radix< /p>


为转换时所用基数



double atof(char *nptr)


将字符串


nptr


转换成双精度数


,


并返回这个数


,


错误返回


0


int atoi(char *nptr)


将字符串


nptr


转换成整型数


,


并返回这个数

< p>
,


错误返回


0


long atol(char *nptr)


将字符串


nptr


转换成长整型数


,


并返回这个数


,


错误返回


0


double strtod(char *str,char **endptr)< /p>


将字符串


str


转换成双精度数


,


并返回这个数


,


long strtol(char *str,char **endptr,int base)


将字符串


str


转换成长整型数


,



并返回这个数


,


int toascii(int c)


返回


c

< br>相应的


ASCII


int tolower(int ch)



ch

< br>是大写字母


('A'-'Z')


返回相应的小写字母


('a'-'z')


int _tolower(int ch)


返回


ch


相应的小写字母< /p>


('a'-'z')


int toupper(int ch)



ch


是小写字母


('a'-'z')


返回相应的大写字母


('A '-'Z')


int _toupper(int ch)

< br>返回


ch


相应的大写字母


('A '-'Z')



诊断函数


,


所在函数库为


assert.h



math.h


void assert(int test)


一个扩展成


if


语句那样的宏,如果


test


测试失败,




就显示一个信息并异常终止程序


,


无返 回值



void perror(char *string)


本函数将显示最近一次的错误信息,格式如下:




字符串


string :


错误信息



char *strerror(char *str)


本函数返回最近一次的错误信息


,


格式如下


:



字符串


str:


错误信息



int matherr(struct exception *e)



用户修改数学错误返回信息函数


(


没有必要使用


)


double _matherr(_mexcep why,char *fun,double *arg1p,


double *arg2p,double retval)



用户修改数学错误返回信息函数


(


没有必要 使用


)



输入输出子程序

< p>
,


函数库为


io.h


、< /p>


conio.h



stat.h



dos.h



std io.h



signal.h


int kbhit()


本函数返回最近所敲的按键



int fgetchar()


从控制台


(


键盘


)


读一个字符,显示在 屏幕上



int getch()


从控制台


(


键盘


)

< p>
读一个字符,不显示在屏幕上



int putch()


向控制台


(


键 盘


)


写一个字符



int getchar()


从控制台


(


键盘


)


读一个字符,显示在 屏幕上



int putchar()


向控制台


(


键盘


)

< p>
写一个字符



int getche()


从控制台


(


键盘


)


读一个字符,显示在屏幕上



int ungetch(int c)


把字符


c


退回给控制台


(


键盘


)


char *cgets(char *string)


从控制台


(


键盘


)


读入字符串存于


string


中< /p>



int scanf(char *format[,ar gument



])


从控制台读入一个 字符串


,


分别对各个参数进行




赋值


,


使用


BIOS


进行输出



int vscanf(char *format,Valist param)


从控制台读入一个字符串


,


分别对各个 参数进行




赋值


,


使用


BIOS


进行 输出


,


参数从


Valist param


中取得



int cscanf(char *format[,argument


])


从控制台读入一个字符串


,


分 别对各个参数进行




赋 值


,


直接对控制台作操作


,

< p>
比如显示器在显示时字符时即为直接写频方式显示



int sscanf(char *string,char *format[ ,argument,



])


通过字符 串


string,


分别对各个




参数进行赋值



int vsscanf(char *string,char *format,Vlist param)


通过字符串


str ing,


分别对各个




参数进行赋值


,


参数从


Vlist param


中取得



int puts(char *string)


发关 一个字符串


string


给控制台


(< /p>


显示器


),


< p>
使用


BIOS


进行输出



void cputs(char *string)


发送 一个字符串


string


给控制台


(< /p>


显示器


),


< p>
直接对控制台作操作


,


比如显示器即为直接写频方 式显示



int printf(char *format[,argument,



])


发送格式化字符串输出给控制台


(


显示器

< p>
)



使用


BIOS


进行输出



int vprintf(char *format,Valist param)


发送格式 化字符串输出给控制台


(


显示器


)



使用


BIOS


进行输出


,


参数从


Va list param


中取得



int cprintf(char *format[,argument,



])


发送格式化字符串输出给控制台


(


显示器

< p>
),



直接对控制台作操作


,


比如显示器即为直接写频方式显示



int vcprintf(char *format,Valist para m)


发送格式化字符串输出给控制台


(


显示器


),



直接对控 制台作操作


,


比如显示器即为直接写频方式显示


,



参数从


Valist param


中取得



int sprintf(char *string,char *format[,argument,



])



将字符串


strin g


的内容重新写为格式化后的字符串



int vsprintf(char *string,char *format,Valist param)


将字符串


string


的内容重新写为格式化后的字符串< /p>


,


参数从


Valist param


中取得



int rename(char *oldname,char *newname)


将文件< /p>


oldname


的名称改为


newnam e


int ioctl(int handle,int cmd[,int *argdx,int argcx])



本 函数是用来控制输入


/


输出设备的,请见下表:




┌───┬────────── ──────────────────┐





cmd




│功能






├───┼────────────────────────────┤





0


│取出设备信息







1


│设置设备信息







2


│把

< br>argcx


字节读入由


argdx


所指的地址







3


│在

< br>argdx


所指的地址写


argcx

字节







4


│除把


handle


当作设备号


(0=


当前


,1=A,



)


之外


,


均和


cmd=2


时一样







5


│除把


handle


当作设备号

< p>
(0=


当前


,1=A,



)


之外


,


均和


cmd=3


时一样







6


│取输入状态







7


│取输出状态







8


│测试可换性


;


只对于


DOS 3.x






11


│置分享冲突的重算计 数


;


只对


DOS 3.x





└───┴────────────────────────────┘



int (*ssignal(int sig,int(*action)()) ()


执行软件信号


(


没必要使用


)


int gsignal(int sig)


执行软件信号


(


没必要使用

< p>
)



int _open(char *pathname,int access)


为读或写打开一个文件


,



按后按


access


来确定是读文件还是写文件


,access

值见下表




┌─ ─────┬────────────────────┐





access



│意义






├──────┼────────────────────┤





O_RDONLY


│读文件







O_WRONLY


│写文件







O_RDWR


│即读也写







O_NOINHERIT


│若文件 没有传递给子程序


,


则被包含







O_DENYALL


│只允许当前处理必须存取的文件







O_DENYWRITE


│只允许从任何其它打开的文件读







O_DENYREAD


│只允许从任何其它打开的文件写







O_DENYNONE


│允许其它共享打开的文件






└──────┴────────────────────┘



int open(char *pathname,int access[,int permiss])


为读或写打开一个文件


,



按后按


access


来确定是读文件还是写文件


,access

值见下表




┌────┬────────────────────┐





access


值│意义






├────┼────────────────────┤





O_RDONLY


│读文件







O_WRONLY


│写文件







O_RDWR


│即读也写







O_NDELAY


│没有使用


;



UNIX


系统兼容







O_APPEND


│即读也写


,


但每次写总是在文件尾添 加







O_CREAT


│若文件存在


,


此标志无用

< p>
;


若不存在


,


建新文件< /p>







O_TRUNC


│若文件存在


,


则长度被截为


0,


属性不变







O_EXCL


│未用


;



U NIX


系统兼容







O_BINARY


│此标志可显示地给出以二进制方 式打开文件







O_TEXT


│此标志可用于显示地给出以文本方式打开文件│




└────┴────────────────────┘



permiss


为文件属性

< br>,


可为以下值


:


S_IWRITE


允许写


S_IREAD


允许读


S_IREAD|S_IWRITE


允许读、写



int creat(char *filename,int permiss)


建立一个新文件


filename


,并 设定




读写性。


permiss


为文件读写性,可以为以下值



S_IWRITE


允许写


S_IREAD


允许读


S_IREAD|S_IWRITE


允许读、写



int _creat(char *filename,int attrib)


建立一个新文件


filename


,并 设定文件




属性。


attrib


为文件属性,可以为以下值



FA_RDONLY


只读


FA_HIDDEN


隐藏


FA_SYSTEM


系统



int creatnew(char *filenamt,int attrib)


建立一 个新文件


filename


,并设定文件




属性。


attri b


为文件属性,可以为以下值



FA_RDONLY


只读


FA_HIDDEN


隐藏


FA_SYSTEM


系统



int creattemp(char *filenamt,int attrib)


建立 一个新文件


filename


,并设定文件



属性。


attr ib


为文件属性,可以为以下值



FA_RDONLY


只读


FA_HIDDEN


隐藏


FA_SYSTEM


系统



int read(int handle,void *buf,int nbyte)


从文件 号为


handle


的文件中读


nbyt e


个字符




存入


buf




int _read(int handle,void *buf,int nby te)


从文件号为


handle


的文件 中读


nbyte


个字符




存入


buf

< p>


,


直接调用


MSDOS


进行操作


.


int write(int handle,void *buf,int nbyte)


将< /p>


buf


中的


nbyte

< br>个字符写入文件号




handle


的文件中



int _write(int handle,void *buf,int nb yte)



buf


中的


nbyte


个字符写入文件号





handle


的文件中



int dup(int handle)


复制一个文件处理指针


handle,


返回这个指针



int dup2(int handle,int newhandle)


复制一个文件处理 指针


handle



newhandl e


int eof(int *handle)


检查文件 是否结束


,


结束返回


1,


否则返回


0


long filelength(int handle)


返回文件长度,

handle


为文件号



int setmode(int handle,unsigned mode)


本函数用来设 定文件号为


handle


的文件的打




开方式



int getftime(int handle,struct ftime *ftime)


读取文件号为


handle

< br>的文件的时间,



并将文件时间存于


ftime


结构中,成功返回

< p>
0,ftime


结构如下:




┌─────────────────┐





struct ftime






{






unsigned ft_tsec:5; /*



*/






unsigned ft_min:6; /*



*/






unsigned ft_hour:5; /*



*/






unsigned ft_day:5; /*



*/






unsigned ft_month:4;/*



*/






unsigned ft_year:1; /*



-1980*/






}





└─────────────────┘



int setftime(int handle,struct ftime *ftime)


重写文件号为


handle

< br>的文件时间


,



新时间在结构


ftime



.


成功返回


0.


结构


ft ime


如下


:



┌─────────────────┐





struct ftime






{






unsigned ft_tsec:5; /*



*/






unsigned ft_min:6; /*



*/






unsigned ft_hour:5; /*



*/






unsigned ft_day:5; /*



*/






unsigned ft_month:4;/*



*/






unsigned ft_year:1; /*



-1980*/






}





└─────────────────┘



long lseek(int handle,long offset,int fromwhere)


本函数将文件号为


handle


的文件



< br>的指针移到


fromwhere


后的第

< br>offset


个字节处


.


SEEK_SET


文件开关


SEEK_CUR


当前位置


SEEK_END


文件尾



long tell(int handle)


本函数返回文件号为


ha ndle


的文件指针


,


以字节表示



int isatty(int handle)

< p>
本函数用来取设备


handle


的类型

< p>


int lock(int handle,long offset,long length)


对文件共享作封锁



int unlock(int handle,long offset,long length)


打开对文件共享的封锁



int close(int handle)


关闭


handle


所表示的文件处理


,handle


是从


_creat



creat




creatnew



creattemp



d up



dup2


_open



open


中的一个处 调用获得的文件处理




成功返回


0


否则返回


-1,


可用于


UNIX


系统



int _close(int handle)


关闭


handle


所表示的文件处理


,hand le


是从


_creat



creat




creatnew



creattemp



dup



dup2



_open



open


中的一个处调用获得的文件处理




成功返回


0


否则返回

< br>-1,


只能用于


MSDOS


系统




FILE *fopen(char *filename,char *type)


打开一个文 件


filename,


打开方式为


ty pe




< p>
并返回这个文件指针,


type


可为以下字符串加 上后缀




┌──┬────┬───────┬────────┐





type


│读写性



│文本


/2< /p>


进制文件│建新


/


打开旧文件

< p>





├──┼────┼───────┼────────┤





r


│读



│文本



│打开旧的文件







w


│写



│文本



│建新文件







a


│添加



│文本



│有就打开无则建新│





r+


│读


/




│不限制



│打开







w+


│读


/




│不限制



│建新文件







a+


│读


/


添加



│不限制



│有就打开无则建新│




└──┴────┴───────┴────────┘




可加的后缀为


t



b


。加


b

< p>
表示文件以二进制形式进行操作,


t


没必要使用< /p>





:


┌──────────────────┐





#include






main()






{






FILE *fp;






fp=fopen(





└──────────────────┘



FILE *fdopen(int ahndle,char *type)


FILE *freopen(char *filename,char *type,FILE *stream)


int getc(FILE *stream)


从流


stream


中读一个字符,并返回这个字符



int putc(int ch,FILE *stream)


向流


s tream


写入一个字符


ch


int getw(FILE *stream)


从流


stream< /p>


读入一个整数,错误返回


EOF


int putw(int w,FILE *stream)


向流


st ream


写入一个整数



int ungetc(char c,FILE *stream)


把字符

< br>c


退回给流


stream


,下一 次读进的字符将是


c


int fgetc(FILE *stream)


从流


stream


处读一个字符,并返回这个字符



int fputc(int ch,FILE *stream)


将字符

ch


写入流


stream




char *fgets(char *string,int n,FILE *stream)


从流


stream


中读


n


个字符存入


st ring




int fputs(char *string,FILE *stream)


将字符串


string


写入流


stream




int fread(void *ptr,int size,int nitems,FILE *stream)


从流


stream


中读入


nitems



个长度为


size


的字符串存入


ptr



int fwrite(void *ptr,int size,int nitems,FILE *stream)


向流


strea m


中写入


nitems



个长度为


size


的字符串

< p>
,


字符串在


ptr




int fscanf(FILE *stream,char *format[,argument,



])


以格式化形式从流


stream


< br>



读入一个字符串



int vfscanf(FILE *stream,char *format,Valist param)


以格式化形式从流


stream





读入一个字符串


,


参数从


Valist param


中取得



int fprintf(FILE *stream,char *format[,argument,



])


以格式化形式将一个字符




串写给指定的流


stream


int vfprintf(FILE *stream,char *format,Valist param)


以格式化形式将一个字符




串写给指定的流


stream,


参数从


Valist param


中取得



int fseek(FILE *stream,long offset,int fromwhere)


函数把文件指针移到


fromwhere



所指位置的向后


off set


个字节处


,fromwhere


可以为以下值


:


SEEK_SET


文件开关


SEEK_CUR


当前位置


SEEK_END


文件尾



long ftell(FILE *stream)


函数返回定位在


stream


中的当前文件指针位置


,


以字节表示



int rewind(FILE *stream)


将当前文件指针


stream


移到文件开头



int feof(FILE *stream)


检测流


stream


上的文件指针是否在结束位置



int fileno(FILE *stream)


取流


strea m


上的文件处理,并返回文件处理



int ferror(FILE *stream)


检 测流


stream


上是否有读写错误,如有错误就返回


1


void clearerr(FILE *stream) < /p>


清除流


stream


上的读写错误



void setbuf(FILE *stream,char *buf)


给流


stream


指定一 个缓冲区


buf


void setvbuf(FILE *stream,char *buf,int type,unsigned size)



给流


stream


指定一个缓冲区


buf,


大小为

< p>
size,


类型为


type,type

< p>
的值见下表




┌───┬───────────────────────────────┐





type


值│意






├───┼───────────────────────────────┤





_IOFBF


│文件是完全缓冲区


,


当缓冲区是空时


,


下一个输入操作将企图填满整个缓│






│冲区


.


在输出时


,< /p>


在把任何数据写到文件之前


,


将完全填充 缓冲区


.






_IOLBF


│文件是行缓冲区


.


当缓冲区为空时

< p>
,


下一个输入操作将仍然企图填整个缓│






│冲区


.


然而在输出时


,


每当新行符写到文件


,


缓冲区就被清 洗掉


.






_IONBF


│文件是无缓冲的


.buf


< br>size


参数是被忽略的


.


每个 输入操作将直接从文








│件读


,


每个输出操作将立即把数据写到文件中


.




└───┴───────────────────────────────┘



int fclose(FILE *stream)


关 闭一个流,可以是文件或设备


(


例如


L PT1)


int fcloseall()


关闭所有除


stdin



st dout


外的流



int fflush(FILE *stream)


关闭一个流,并对缓冲区作处理




处理即对读的流,将流内内容读入缓冲区;




对写的流,将缓冲区内内容写入流。成功返回


0


int fflushall()


关闭所有流,并对流各自的缓冲区作处理




处理即对读的流,将流内内容读入缓冲区;




对写的流,将缓冲区内内容写入流。成功返回


0



int access(char *filename,int amode)


本函数检查文件


filename


并返回文件的属性


,



函数将属性存于


am ode


中,


amode


由以下位的组合 构成



06


可以读、写


04


可以读


02


可以写


01


执行

< p>
(


忽略的


) 00


文件存在




如果


filename


是一个目录


,


函数将只确定目录是否存在




函数执行成功返回


0,< /p>


否则返回


-1


int chmod(char *filename,int permiss)


本函数用于 设定文件


filename


的属性



permiss


可以为以下值



S_IWRITE


允许写


S_IREAD


允许读


S_IREAD|S_IWRITE


允许读、写



int _chmod(char *filename,int func[,int attrib]);



本 函数用于读取或设定文件


filename


的属性,

< p>




fu nc=0


时,函数返回文件的属性;当


func=1

< p>
时,函数设定文件的属性




若为设定文件属性,


attrib


可以为下列 常数之一



FA_RDONLY


只读


FA_HIDDEN


隐藏


FA_SYSTEM


系统





接口子程序


,


所在函数库为


:dos.h



bio s.h


unsigned sleep(unsigned seconds)


暂停


seconds


微秒

(


百分之一秒


)


int unlink(char *filename)


删除文件


filename


unsigned FP_OFF(void far *farptr)


本函数用来取远指针


farptr


的偏移量



unsigned FP_SEG(void far *farpt r)


本函数用来没置远指针


farptr


的段值


-


-


-


-


-


-


-


-



本文更新与2021-02-28 02:18,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/677815.html

C语言库函数参考手册的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文