1、C函数手册C库函数手册/*ctype.h*/分类函数,所在函数库为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值,否则返回0int
2、 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),换行符(n)返回非0值,否则返回0int isupper(int
3、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.h*/数学函数,所在函数库为math.h、stdlib.h、string.h、float.hint abs(int i) 返回整型参数i的绝对值double cabs(struct
4、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) 返回logex的值double log10(double x) 返回log10x的值dou
5、ble 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 y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余
6、弦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的双曲正切tanh(x)值,x为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2double ceil(d
7、ouble 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
8、分成尾数和阶double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数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转换成字符串并返回该字符串cha
9、r *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,char *string,int radix)将整数value
10、转换成字符串存入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(char *str,char *endptr,int base)将字符串str转换成长整型数,并返回
11、这个数,int matherr(struct exception *e)用户修改数学错误返回信息函数(没有必要使用)double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字/*dir.h、dos.h*/目录函数,所在函数库为dir.h、dos.hin
12、t chdir(char *path) 使指定的目录path(如:“C:WPS“)变成当前的工作目录,成功返回0int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0pathname为指定的目录名和文件名,如“C:WPSTXT“ffblk为指定的保存文件信息的一个结构,定义如下:struct ffblk char ff_reserved21; /*DOS保留字*/ char ff_attrib; /*文件属性*/ int ff_ftime; /*文件时间*/ int ff_fdate; /*文件日期*/
13、 long ff_fsize; /*文件长度*/ char ff_name13; /*文件名*/ attrib为文件属性,由以下字符代表FA_RDONLY 只读文件FA_LABEL 卷标号FA_HIDDEN 隐藏文件FA_DIREC 目录 FA_SYSTEM 系统文件FA_ARCH 档案 例:struct ffblk ff;findfirst(“*.wps“,int findnext(struct ffblk *ffblk) 取匹配findfirst的文件,成功返回0void fumerge(char *path,char *drive,char *dir,char *name,char *e
14、xt)此函数通过盘符drive(C:、A:等),路径dir(TC、BCLIB等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名存与path中.int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)此函数将文件名path分解成盘符drive(C:、A:等),路径dir(TC、BCLIB等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.int getcurdir(int drive,char *direc) 此函数返回指定驱动器的
15、当前工作目录名称drive 指定的驱动器(0=当前,1=A,2=B,3=C等)direc 保存指定驱动器当前工作路径的变量 成功返回0char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字节长为为止.错误返回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
16、(char *pathname) 删除一个目录pathname,成功返回0char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径,此函数使用DOS的PATH变量,未找到文件返回NULL/*stdlib.h、process.h*/进程函数,所在函数库为stdlib.h、process.hvoid abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序。无返回值int exec装入和运
17、行其它程序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
18、)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(arg1,arg2,argv,envp)传递给子程序,出错返回-1在exec函数族中,后缀l、v、p、e添加到exec后,所指定的函数将具有某种操作能力有后缀 p时,函数可以利用DOS的PATH变量查找子程序文件。l时,函数中被传递的参数个数固定。v时,函数中被
19、传递的参数个数不固定。e时,函数传递指定参数envp,允许改变子进程的环境,无后缀e时,子进程使用当前程序的环境。void _exit(int status)终止当前程序,但不清理现场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,ch
20、ar *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,并将参数arg0(arg1,arg2,argv,envp)传递给子程序.出错