收藏 分享(赏)

C库函数手册.doc

上传人:精品资料 文档编号:9370041 上传时间:2019-08-04 格式:DOC 页数:23 大小:52.22KB
下载 相关 举报
C库函数手册.doc_第1页
第1页 / 共23页
C库函数手册.doc_第2页
第2页 / 共23页
C库函数手册.doc_第3页
第3页 / 共23页
C库函数手册.doc_第4页
第4页 / 共23页
C库函数手册.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、分类函数,所在函数库为 ctype.hint isalpha(int ch) 若 ch 是字母(A-Z,a-z)返回非 0 值,否则返回 0int isalnum(int ch) 若 ch 是字母(A-Z,a-z)或数字(0-9)返回非 0 值,否则返回 0int isascii(int ch) 若 ch 是字符(ASCII 码中的 0-127)返回非 0 值,否则返回 0int iscntrl(int ch) 若 ch 是作废字符(0x7F) 或普通控制字符(0x00-0x1F)返回非 0 值,否则返回 0int isdigit(int ch) 若 ch 是数字 (0-9)返回非 0 值,

2、否则返回 0int isgraph(int ch) 若 ch 是可打印字符(不含空格)(0x21-0x7E)返回非 0 值,否则返回 0int islower(int ch) 若 ch 是小写字母 (a-z)返回非 0 值, 否则返回 0int isprint(int ch) 若 ch 是可打印字符(含空格)(0x20-0x7E)返回非 0 值,否则返回 0int ispunct(int ch) 若 ch 是标点字符(0x00-0x1F)返回非 0 值,否则返回 0int isspace(int ch) 若 ch 是空格( ),水平制表符(t), 回车符(r),走纸换行(f),垂直制表符(v)

3、, 换行符(n)返回非 0 值,否则返回 0int isupper(int ch) 若 ch 是大写字母(A-Z) 返回非 0 值, 否则返回 0int isxdigit(int ch) 若 ch 是 16 进制数(0-9,A-F,a-f)返回非 0 值,否则返回 0int tolower(int ch) 若 ch 是大写字母 (A-Z)返回相应的小写字母 (a-z)int toupper(int ch) 若 ch 是小写字母(a-z)返回相应的大写字母(A-Z)数学函数,所在函数库为math.h、 stdlib.h、string.h、float.hint abs(int i) 返回整型参数

4、i 的绝对值double cabs(struct complex znum) 返回复数 znum 的绝对值double fabs(double x) 返回双精度参数 x 的绝对值long labs(long n) 返回长整型参数 n 的绝对值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) 返回

5、logex 的值double log10(double x) 返回 log10x 的值double pow(double x,double y) 返回 xy 的值double pow10(int p) 返回 10p 的值double sqrt(double x) 返回+x 的值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

6、y,double x) 返回 y/x 的反正切 tan-1(x)值,y 的 x 为弧度double cos(double x) 返回 x 的余弦 cos(x)值,x 为弧度double sin(double x) 返回 x 的正弦 sin(x)值,x 为弧度double tan(double x) 返回 x 的正切 tan(x)值,x 为弧度double cosh(double x) 返回 x 的双曲余弦 cosh(x)值,x 为弧度double sinh(double x) 返回 x 的双曲正弦 sinh(x)值,x 为弧度double tanh(double x) 返回 x 的双曲正切 t

7、anh(x)值,x 为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z),x 和 y 为直角边的长度,z2=x2+y2double 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)将双精

8、度数 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) 将字符串 nptr 转换成整数并返回这个整数double atol(char *nptr) 将字符串 nptr 转换成长整数并返回这个整数char *ecvt(double value,int ndigit,int *decpt,i

9、nt *sign)将浮点数 value 转换成字符串并返回该字符串char *fcvt(double value,int ndigit,int *decpt,int *sign)将浮点数 value 转换成字符串并返回该字符串char *gcvt(double value,int ndigit,char *buf)将数 value 转换成字符串并存于 buf 中,并返回 buf 的指针char *ultoa(unsigned long value,char *string,int radix)将无符号整型数 value 转换成字符串并返回该字符串,radix 为转换时所用基数char *lto

10、a(long value,char *string,int radix)将长整型数 value 转换成字符串并返回该字符串,radix 为转换时所用基数char *itoa(int value,char *string,int radix)将整数 value 转换成字符串存入 string,radix 为转换时所用基数double atof(char *nptr) 将字符串 nptr 转换成双精度数,并返回这个数 ,错误返回 0int atoi(char *nptr) 将字符串 nptr 转换成整型数, 并返回这个数 ,错误返回 0long atol(char *nptr) 将字符串 nptr

11、 转换成长整型数,并返回这个数 ,错误返回 0double strtod(char *str,char *endptr)将字符串 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)用户修改数学错误返回信息函数

12、(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字目录函数,所在函数库为 dir.h、dos.hint chdir(char *path) 使指定的目录 path(如:“C:WPS“ )变成当前的工作目录,成功返回 0int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件 ,成功返回 0pathname 为指定的目录名和文件名, 如“C:WPSTXT

13、“ffblk 为指定的保存文件信息的一个结构,定义如下:struct ffblk char ff_reserved21; /*DOS 保留字*/ char ff_attrib; /*文件属性*/ int ff_ftime; /*文件时间*/ int ff_fdate; /*文件日期*/ long ff_fsize; /*文件长度*/ char ff_name13; /*文件名*/ attrib 为文件属性 ,由以下字符代表FA_RDONLY 只读文件FA_LABEL 卷标号FA_HIDDEN 隐藏文件 FA_DIREC 目录 FA_SYSTEM 系统文件FA_ARCH 档案 例:struct

14、ffblk ff;findfirst(“*.wps“,int findnext(struct ffblk *ffblk) 取匹配 finddirst 的文件,成功返回 0void fumerge(char *path,char *drive,char *dir,char *name,char *ext)此函数通过盘符 drive(C:、A: 等),路径 dir(TC、BCLIB 等),文件名 name(TC、WPS 等),扩展名 ext(.EXE、.COM 等)组成一个文件名存与 path 中.int fnsplit(char *path,char *drive,char *dir,char

15、*name,char *ext)此函数将文件名 path 分解成盘符 drive(C:、A:等),路径 dir(TC、BCLIB 等),文件名 name(TC、WPS 等),扩展名 ext(.EXE、.COM 等),并分别存入相应的变量中.int getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称drive 指定的驱动器(0=当前,1=A,2=B,3=C 等)direc 保存指定驱动器当前工作路径的变量 成功返回 0char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入 buf 中, 直到 n 个字节长为为

16、止.错误返回 NULLint getdisk() 取当前正在使用的驱动器, 返回一个整数(0=A,1=B,2=C 等)int setdisk(int drive) 设置要使用的驱动器 drive(0=A,1=B,2=C 等),返回可使用驱动器总数int mkdir(char *pathname) 建立一个新的目录 pathname,成功返回 0int rmdir(char *pathname) 删除一个目录 pathname,成功返回 0char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于 template 中char *searchpath(char

17、 *pathname) 利用 MSDOS 找出文件 filename 所在路径,此函数使用 DOS 的 PATH 变量, 未找到文件返回 NULL进程函数,所在函数库为 stdlib.h、process.hvoid 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,cha

18、r *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 *

19、argv,char *envp)exec 函数族装入并运行程序 pathname,并将参数arg0(arg1,arg2,argv,envp)传递给子程序, 出错返回-1在 exec 函数族中,后缀 l、v、p 、e 添加到 exec 后,所指定的函数将具有某种操作能力有后缀 p 时,函数可以利用 DOS 的 PATH 变量查找子程序文件。l 时,函数中被传递的参数个数固定。v 时,函数中被传递的参数个数不固定。e 时,函数传递指定参数 envp,允许改变子进程的环境,无后缀 e 时,子进程使用当前程序的环境。void _exit(int status)终止当前程序,但不清理现场void exi

20、t(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,cha

21、r *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

22、,char *envp)spawn 函数族在 mode 模式下运行子程序 pathname,并将参数arg0(arg1,arg2,argv,envp)传递给子程序. 出错返回-1mode 为运行模式mode 为 P_WAIT 表示在子程序运行完后返回本程序P_NOWAIT 表示在子程序运行时同时运行本程序(不可用)P_OVERLAY 表示在本程序退出后运行子程序在 spawn 函数族中,后缀 l、v 、p、e 添加到 spawn 后,所指定的函数将具有某种操作能力有后缀 p 时, 函数利用 DOS 的 PATH 查找子程序文件l 时, 函数传递的参数个数固定.v 时 , 函数传递的参数个数不固

23、定.e 时, 指定参数 envp 可以传递给子程序,允许改变子程序运行环境 .当无后缀 e 时,子程序使用本程序的环境.int system(char *command) 将 MSDOS 命令 command 传递给 DOS 执行转换子程序,函数库为 math.h、stdlib.h、ctype.h、float.hchar *ecvt(double value,int ndigit,int *decpt,int *sign)将浮点数 value 转换成字符串并返回该字符串char *fcvt(double value,int ndigit,int *decpt,int *sign)将浮点数 va

24、lue 转换成字符串并返回该字符串char *gcvt(double value,int ndigit,char *buf)将数 value 转换成字符串并存于 buf 中,并返回 buf 的指针char *ultoa(unsigned long value,char *string,int radix)将无符号整型数 value 转换成字符串并返回该字符串,radix 为转换时所用基数char *ltoa(long value,char *string,int radix)将长整型数 value 转换成字符串并返回该字符串,radix 为转换时所用基数char *itoa(int value

25、,char *string,int radix)将整数 value 转换成字符串存入 string,radix 为转换时所用基数double atof(char *nptr) 将字符串 nptr 转换成双精度数,并返回这个数 ,错误返回 0int atoi(char *nptr) 将字符串 nptr 转换成整型数, 并返回这个数 ,错误返回 0long atol(char *nptr) 将字符串 nptr 转换成长整型数,并返回这个数 ,错误返回 0double strtod(char *str,char *endptr)将字符串 str 转换成双精度数,并返回这个数,long strtol(

26、char *str,char *endptr,int base)将字符串 str 转换成长整型数,并返回这个数,int toascii(int c) 返回 c 相应的 ASCIIint tolower(int ch) 若 ch 是大写字母 (A-Z)返回相应的小写字母 (a-z)int _tolower(int ch) 返回 ch 相应的小写字母(a-z)int toupper(int ch) 若 ch 是小写字母(a-z)返回相应的大写字母(A-Z)int _toupper(int ch) 返回 ch 相应的大写字母(A-Z)诊断函数,所在函数库为 assert.h、math.hvoid a

27、ssert(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 *ar

28、g2p,double retval)用户修改数学错误返回信息函数(没有必要使用)输入输出子程序,函数库为io.h、 conio.h、stat.h、dos.h、stdio.h、signal.hint kbhit() 本函数返回最近所敲的按键int fgetchar() 从控制台(键盘 )读一个字符,显示在屏幕上int getch() 从控制台( 键盘 )读一个字符,不显示在屏幕上int putch() 向控制台(键盘 )写一个字符int getchar() 从控制台(键盘)读一个字符,显示在屏幕上int putchar() 向控制台(键盘)写一个字符int getche() 从控制台( 键盘)读

29、一个字符,显示在屏幕上int ungetch(int c) 把字符 c 退回给控制台(键盘)char *cgets(char *string) 从控制台(键盘) 读入字符串存于 string 中int scanf(char *format,argument)从控制台读入一个字符串,分别对各个参数进行赋值,使用 BIOS 进行输出int vscanf(char *format,Valist param)从控制台读入一个字符串,分别对各个参数进行赋值,使用 BIOS 进行输出,参数从 Valist param 中取得int cscanf(char *format,argument)从控制台读入一个

30、字符串 ,分别对各个参数进行赋值,直接对控制台作操作 ,比如显示器在显示时字符时即为直接写频方式显示int sscanf(char *string,char *format,argument,)通过字符串 string,分别对各个参数进行赋值int vsscanf(char *string,char *format,Vlist param)通过字符串 string,分别对各个参数进行赋值,参数从 Vlist param 中取得int puts(char *string) 发关一个字符串 string 给控制台(显示器),使用 BIOS 进行输出void cputs(char *string)

31、发送一个字符串 string 给控制台( 显示器),直接对控制台作操作,比如显示器即为直接写频方式显示int printf(char *format,argument,) 发送格式化字符串输出给控制台(显示器)使用 BIOS 进行输出int vprintf(char *format,Valist param) 发送格式化字符串输出给控制台(显示器)使用 BIOS 进行输出, 参数从 Valist param 中取得int cprintf(char *format,argument,) 发送格式化字符串输出给控制台 (显示器),直接对控制台作操作,比如显示器即为直接写频方式显示int vcpri

32、ntf(char *format,Valist param)发送格式化字符串输出给控制台(显示器),直接对控制台作操作,比如显示器即为直接写频方式显示,参数从 Valist param 中取得int sprintf(char *string,char *format,argument,)将字符串 string 的内容重新写为格式化后的字符串int vsprintf(char *string,char *format,Valist param)将字符串 string 的内容重新写为格式化后的字符串,参数从 Valist param 中取得int rename(char *oldname,char

33、 *newname)将文件 oldname 的名称改为 newnameint ioctl(int handle,int cmd,int *argdx,int argcx)本函数是用来控制输入/输出设备的,请见下表:cmd 值 功能 0 取出设备信息 1 设置设备信息 2 把 argcx 字节读入由 argdx 所指的地址 3 在 argdx 所指的地址写 argcx 字节 4 除把 handle 当作设备号(0=当前,1=A,等)之外,均和 cmd=2 时一样 5 除把 handle 当作设备号(0=当前,1=A,等)之外,均和 cmd=3 时一样 6 取输入状态 7 取输出状态 8 测试可换

34、性;只对于 DOS 3.x 11 置分享冲突的重算计数;只对 DOS 3.x int (*ssignal(int sig,int(*action)()()执行软件信号(没必要使用 )int gsignal(int sig) 执行软件信号(没必要使用 )int _open(char *pathname,int access)为读或写打开一个文件 ,按后按 access 来确定是读文件还是写文件 ,access 值见下表access 值 意义 O_RDONLY 读文件 O_WRONLY 写文件 O_RDWR 即读也写 O_NOINHERIT 若文件没有传递给子程序 ,则被包含 O_DENYALL

35、只允许当前处理必须存取的文件 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 若文件存在,此

36、标志无用;若不存在, 建新文件 O_TRUNC 若文件存在, 则长度被截为 0,属性不变 O_EXCL 未用;对 UNIX 系统兼容 O_BINARY此标志可显示地给出以二进制方式打开文件 O_TEXT 此标志可用于显示地给出以文本方式打开文件permiss 为文件属性,可为以下值:S_IWRITE 允许写 S_IREAD 允许读 S_IREAD|S_IWRITE 允许读、写int creat(char *filename,int permiss) 建立一个新文件 filename,并设定读写性。permiss 为文件读写性,可以为以下值S_IWRITE 允许写 S_IREAD 允许读 S_I

37、READ|S_IWRITE 允许读、写int _creat(char *filename,int attrib) 建立一个新文件 filename,并设定文件属性。attrib 为文件属性,可以为以下值FA_RDONLY 只读 FA_HIDDEN 隐藏 FA_SYSTEM 系统int creatnew(char *filenamt,int attrib) 建立一个新文件 filename,并设定文件属性。attrib 为文件属性,可以为以下值FA_RDONLY 只读 FA_HIDDEN 隐藏 FA_SYSTEM 系统int creattemp(char *filenamt,int attrib

38、) 建立一个新文件 filename,并设定文件属性。attrib 为文件属性,可以为以下值FA_RDONLY 只读 FA_HIDDEN 隐藏 FA_SYSTEM 系统int read(int handle,void *buf,int nbyte)从文件号为 handle 的文件中读 nbyte 个字符存入 buf 中int _read(int handle,void *buf,int nbyte)从文件号为 handle 的文件中读 nbyte 个字符存入 buf 中,直接调用 MSDOS 进行操作.int write(int handle,void *buf,int nbyte)将 buf

39、 中的 nbyte 个字符写入文件号为 handle 的文件中int _write(int handle,void *buf,int nbyte)将 buf 中的 nbyte 个字符写入文件号为 handle 的文件中int dup(int handle) 复制一个文件处理指针 handle,返回这个指针int dup2(int handle,int newhandle) 复制一个文件处理指针 handle 到 newhandleint eof(int *handle)检查文件是否结束,结束返回 1,否则返回 0long filelength(int handle) 返回文件长度,handle

40、 为文件号int setmode(int handle,unsigned mode)本函数用来设定文件号为 handle 的文件的打开方式int getftime(int handle,struct ftime *ftime) 读取文件号为 handle 的文件的时间,并将文件时间存于 ftime 结构中,成功返回 0,ftime 结构如下:struct ftime unsigned ft_tsec:5; /*秒*/ unsigned ft_min:6; /*分*/ unsigned ft_hour:5; /*时*/ unsigned ft_day:5; /*日*/ unsigned ft_m

41、onth:4;/*月*/ unsigned ft_year:1; /*年-1980*/ int setftime(int handle,struct ftime *ftime) 重写文件号为 handle 的文件时间,新时间在结构 ftime 中.成功返回 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

42、:1; /*年-1980*/ long lseek(int handle,long offset,int fromwhere) 本函数将文件号为 handle 的文件的指针移到 fromwhere 后的第 offset 个字节处.SEEK_SET 文件开关 SEEK_CUR 当前位置 SEEK_END 文件尾long tell(int handle) 本函数返回文件号为 handle 的文件指针,以字节表示int isatty(int handle)本函数用来取设备 handle 的类型int lock(int handle,long offset,long length) 对文件共享作封锁i

43、nt unlock(int handle,long offset,long length) 打开对文件共享的封锁int close(int handle) 关闭 handle 所表示的文件处理,handle 是从_creat、creat、creatnew、creattemp、dup、dup2 、_open、open 中的一个处调用获得的文件处理成功返回 0 否则返回-1,可用于 UNIX 系统int _close(int handle) 关闭 handle 所表示的文件处理,handle 是从_creat、creat、creatnew、 creattemp、dup、dup2 、_open、open 中的一个处调用获得的文件处理成功返回 0 否则返回-1,只能用于 MSDOS 系统FILE *fopen(char *filename,char *type) 打开一个文件 filename,打开方式为 type,并返回这个文件指针,type 可为以下字符串加上后缀type 读写性 文本/2 进制文件建新/打开旧文件 r 读 文本 打开旧的文件 w 写 文本 建新文件 a 添加 文本 有就打开无则建新r+ 读/ 写 不限制 打开 w+ 读/写 不限制 建新文件 a+ 读/添加 不限

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报