C库函数手册
c语言math函数库手册
函数名称: abs函数原型: int abs(int x);函数功能: 求整数x的绝对值函数返回: 计算结果参数说明:所属文件: <>,<>使用范例:#include <>#include <>int main(){int number=-1234;printf("number: %d absolute value: %d",number,abs(number)); return 0;}@函数名称: fabs函数原型: double fabs(double x);函数功能: 求x的绝对值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){float number=;printf("number: %f absolute value: %f",number,fabs(number)); return 0;}@函数名称: cabs函数原型: double cabs(struct complex znum)函数功能: 求复数的绝对值函数返回: 复数的绝对值参数说明: zuum为用结构struct complex表示的复数,定义如下:struct complex{double m;double n;}所属文件: <>#include <>#include <>int main(){struct complex z;double val;=;=;val=cabs(z);printf("The absolute value of %.2lfi %.2lfj is %.2lf",,,val); return 0;}@函数名称: ceil函数原型: double ceil(double num)函数功能: 得到不小于num的最小整数函数返回: 用双精度表示的最小整数参数说明: num-实数所属文件: <>#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: sin函数原型: double sin(double x);函数功能: 计算sinx的值.正弦函数函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x=;result=sin(x);printf("The sin() of %lf is %lf",x,result); return 0;}@函数名称: cos函数原型: double cos(double x);函数功能: 计算cos(x)的值.余弦函数.函数返回: 计算结果参数说明: x的单位为弧度所属文件: <>使用范例:#include <>#include <>int main()double result;double x=;result=cos(x);printf("The cosine of %lf is %lf",x,result);return 0;}@函数名称: tan函数原型: double tan(double x);函数功能: 计算tan(x)的值,即计算角度x的正切数值函数返回: 计算结果参数说明: x>=0单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tan(x);printf("The tan of %lf is %lf",x,result);return 0;}@函数名称: asin函数原型: double asin(double x);函数功能: 计算sin^-1(x)的值.反正弦值函数函数返回: 计算结果参数说明: x应在 -1 到 1 范围内.单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=asin(x);printf("The arc sin of %lf is %lf",x,result); return 0;}@函数名称: acos函数原型: double acos(double x);函数功能: 计算cos^-1(x)的值,反余弦函数函数返回: 计算结果参数说明: x应在-1到1范围内.切记单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=acos(x);printf("The arc cosine of %lf is %lf",x,result); return 0;}@函数名称: atan函数原型: double atan(double x);函数功能: 计算tan^-1(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=atan(x);printf("The arc tangent of %lf is %lf",x,result);return 0;}@函数名称: atan2函数原型: double atan2(double x,double y);函数功能: 计算tan^-1/(x/y)的值.求x/y的反正切值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=,y=;result=atan2(y,x);printf("The arc tangent ratio of %lf is %lf",(y/x),result); return 0;}@函数名称: sinh函数原型: double sinh(double x);函数功能: 计算x的双曲正弦函数sinh(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x=;result=sinh(x);printf("The hyperbolic sin() of %lf is %lf",x,result); return 0;}@函数名称: cosh函数原型: double cosh(double x);函数功能: 计算x的双曲余弦cosh(x)的值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=cosh(x);printf("The hyperboic cosine of %lf is %lf",x,result); return 0;}@函数名称: tanh函数原型: double tanh(double x);函数功能: 计算x的双曲正切函数tanh(x)的值.函数返回: 计算结果参数说明: x>=0所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tanh(x);printf("The hyperbolic tangent of %lf is %lf",x,result); return 0;}@函数名称: exp函数原型: double exp(double x);函数功能: 求e的x次幂函数返回: 计算结果.幂的值参数说明: x-指数所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=exp(x);printf("'e' raised to the power of %lf(e^%lf)=%lf",x,x,result); return 0;}@函数名称: floor函数原型: double floor(double x);函数功能: 求出不大于x的最大整数.函数返回: 该整数的双精度实数参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: fmod函数原型: double fmod(double x,double y);函数功能: 求整数x/y的余数函数返回: 返回余数的双精度数.x/y的余数值.参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;double result;result=fmod(x,y);printf("The remainder of (%lf/%lf) is %lf",x,y,result);return 0;}@函数名称: frexp函数原型: double frexp(double val,int *eptr);函数功能: 把双精度数val分解为数字部分(尾数)x和以2为底的指数n,即val=x*2^n,n存放在eptr指向的变量中.函数返回: 返回数字部分x,<=x且x<1参数说明: val-待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double mantissa,number;int exponent;number=;mantissa=frexp(number,&exponent);printf("The number %lf is",number);printf("%lf times two to the",mantissa);printf("power of %d",exponent);return 0;}@函数名称: log函数原型: double log(double x);函数功能: 求logeX(e指的是以e为底),即计算x的自然对数(ln X) 函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log(x);printf("The natural log of %lf is %lf",x,result);return 0;}@函数名称: log10函数原型: double log10(double x);函数功能: 求log10x(10指的是以10为底).计算x的常用对数函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log10(x);printf("The common log of %lf is %lf",x,result);return 0;}@函数名称: modf函数原型: double modf(double val,double *iptr);函数功能: 把双精度数val分解为整数部分和小数部分,把整数部分存到iptr指向的单元. 函数返回: val的小数部分参数说明: val 待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double fraction,integer;double number=;fraction=modf(number,&integer);printf("The whole and fractional parts of %lf are %lf and%lf",number,integer,fraction);}@函数名称: pow函数原型: double pow(double x,double y);函数功能: 计算以x为底数的y次幂,即计算x^y的值. 函数返回: 计算结果参数说明: x-底数,y-幂数所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;printf("%lf raised to %lf is %lf",x,y,pow(x,y)); return 0;}@函数名称: sqrt函数原型: double sqrt(double x);函数功能: 计算x的开平方.函数返回: 计算结果参数说明: x>=0所属文件: <>#include <>#include <>int main(){double x=,result;result=sqrt(x);printf("The square root of %lf is %lf",x,result); return 0;}@函数名称: hypot函数原型: double hypot(double x,double y)函数功能: 已知直角三角形两个直角边长度,求斜边长度函数返回: 斜边长度参数说明: x,y-直角边长度所属文件: <>#include <>#include <>int main(){double result;double x=;double y=;result=hypot(x,y);printf("The hypotenuse is: %lf",result);return 0;}@函数名称: poly函数原型: double poly(double x,int degree,double coeffs[])函数功能: 计算多项式函数返回: 多项式的计算结果参数说明: 计算c[n]*x^n+c[n-1]x^n-1+.....+c[1]*x+c[0]所属文件: <>#include <>#include <>int main(){double array[]={,,,};double result;result=poly,3,array);printf("The polynomial: x**3 - **2 + 5x - 1 at is %lf",result); return 0;}@函数名称: matherr函数原型: int matherr(struct exception *e)函数功能: 数学错误计算处理程序函数返回:参数说明: 该函数不能被直接调用,而是被库函数_matherr()调用所属文件: <>#include<>int matherr(struct exception *a){return 1;}@函数名称: ldexp函数原型: double ldexp(double x,int exponent)函数功能: 计算x*2的exponent次幂,即2*pow(2,exponent)的数值函数返回:参数说明:所属文件: <>#include <>#include <>int main(){double value;double x=2;value=ldexp(x,3);printf("The ldexp value is: %lf",value);return 0;}int abs(int i) 返回整型参数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) 返回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 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的双曲正切tanh(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)将双精度数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,int *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 *ltoa(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转换成长整型数,并返回这个数,错误返回0 double 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)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字。
C语言库函数大全
C语言库函数大全absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。
参数:drive=0对应A盘,drive=1对应B盘。
返回值:0:成功;-1:失败。
头文件:dos.habswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void *buffer)drive=0(A驱动器)、1(B驱动器)、nsects=要写的扇区数(最多64K个);lsect=起始逻辑扇区号;buffer=要写入数据的内存起始地址。
功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。
返回值:0:成功;-1:失败。
头文件:dos.hatof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。
s格式为:符号数字.数字 E符号数字返回值:字符串的转换值。
头文件:math.h、stdlib.hatoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。
s格式为:符号数字返回值:字符串的转换值。
若出错则返回0。
头文件:stdlib.hatol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。
s格式为:符号数字返回值:字符串的转换值。
若出错则返回0。
头文件:stdlib.hbcd()把一个数转换成对应的BCD码的函数原形:bcd bcd(int x)bcd bcd(double x)bcd bcd(double x,int decimals)注意:BCD码的精度可达17位。
C语言中的库函数使用指南
C语言中的库函数使用指南库函数在C语言中扮演着至关重要的角色,可以提供各种各样的功能和方法,帮助我们更高效地编写程序。
本文将为您提供一份C语言库函数的使用指南,帮助您更好地掌握这些常用的函数。
一、输入输出函数1. printf()printf()函数是C语言用于输出信息的常用函数。
它可以按照指定的格式将数据输出到屏幕上。
例如:```c#include<stdio.h>int main(){int num = 10;printf("The number is %d\n", num);return 0;}```2. scanf()scanf()函数是C语言用于从键盘上接收用户输入的函数。
通过指定变量的地址,将用户输入的数据保存到相应的变量中。
例如:```c#include<stdio.h>int main(){int num;printf("Please enter a number: ");scanf("%d", &num);printf("You entered: %d\n", num);return 0;}```二、字符串处理函数1. strlen()strlen()函数用于计算字符串的长度,即该字符串中字符的个数(不包括字符串结束符'\0')。
例如:```c#include<stdio.h>#include<string.h>int main(){char str[] = "Hello, world!";int length = strlen(str);printf("The length of the string is %d\n", length);return 0;}```2. strcpy()和strcat()strcpy()函数用于将一个字符串复制到另一个字符串中。
C语言库函数使用大全
C语言库函数使用大全C语言是一种面向过程的编程语言,它提供了大量的库函数来方便开发者进行各种操作。
在本篇文章中,我将介绍一些常用的C语言库函数,并说明它们的使用方法。
1.字符串处理函数:- strlen:用于计算字符串的长度。
- strcat:用于将两个字符串连接起来。
- strcpy:用于将一个字符串复制到另一个字符串中。
- strcmp:用于比较两个字符串是否相等。
2.数学函数:- abs:返回一个整数的绝对值。
- sqrt:返回一个数的平方根。
- pow:计算一个数的指定次幂。
- rand:生成一个随机数。
3.输入输出函数:- printf:用于打印输出。
- scanf:用于接受用户的输入。
- getchar:用于从输入流中读取一个字符。
- putchar:用于将一个字符输出到屏幕上。
4.内存管理函数:- malloc:用于在堆中分配指定大小的内存块。
- free:用于释放之前分配的内存。
- calloc:可以在堆中分配指定数量和大小的内存,并将每个字节初始化为0。
- realloc:用于调整之前分配的内存块的大小。
5.时间日期函数:6.文件操作函数:- fopen:用于打开一个文件。
- fclose:用于关闭一个文件。
- fgets:从文件中读取一行字符串。
- fputs:向文件中写入一行字符串。
7.数组处理函数:- memset:将一个数组的所有元素设置为指定的值。
- memcpy:将一个数组的内容复制到另一个数组中。
- memmove:将一个数组的内容移动到另一个数组中,处理重叠情况。
- qsort:用于对数组进行快速排序。
这只是C语言库函数的一小部分,还有很多其他函数可供使用。
在实际开发中,根据需求选择适合的函数,可以提高代码的效率和可读性。
总结:C语言库函数提供了丰富的功能,可以帮助开发者简化编程过程。
在使用库函数时,需要仔细阅读函数的说明文档,并根据需求选择适合的函数和参数。
通过充分利用库函数,可以提高代码的开发效率和质量。
c 标准库 自学教程与参考手册
c 标准库自学教程与参考手册C 标准库自学教程与参考手册。
C 语言作为一种通用的高级编程语言,具有跨平台、高效、灵活等特点,在计算机编程领域有着广泛的应用。
C 标准库作为 C 语言的重要组成部分,提供了丰富的函数和宏定义,为程序员提供了丰富的功能和工具。
本教程将为大家介绍 C 标准库的常用函数和用法,帮助大家更好地理解和掌握 C 语言的编程技巧。
一、stdio.h。
stdio.h 是 C 标准库中最常用的头文件之一,它提供了一系列用于输入输出的函数和宏定义。
其中,常用的函数包括 printf、scanf、fprintf、fscanf 等,这些函数可以实现对控制台和文件的输入输出操作。
在使用这些函数时,需要注意格式化字符串的使用,以确保输入输出的正确性和可读性。
二、stdlib.h。
stdlib.h 包含了一系列用于内存管理、字符串转换、随机数生成等功能的函数和宏定义。
其中,常用的函数包括 malloc、free、atoi、rand 等,这些函数可以帮助程序员更好地管理内存、处理字符串和生成随机数。
在使用这些函数时,需要注意内存泄漏和指针操作的安全性,以确保程序的稳定性和健壮性。
三、string.h。
string.h 提供了一系列用于字符串操作的函数和宏定义,包括 strlen、strcpy、strcat、strcmp 等。
这些函数可以帮助程序员更方便地处理字符串,实现字符串的复制、拼接、比较等操作。
在使用这些函数时,需要注意字符串的长度和内存越界的问题,以确保字符串操作的正确性和安全性。
四、math.h。
math.h 包含了一系列用于数学运算的函数和宏定义,包括 sin、cos、sqrt、pow 等。
这些函数可以帮助程序员更方便地进行数学运算,实现三角函数、开方、幂运算等操作。
在使用这些函数时,需要注意浮点数精度和数值范围的问题,以确保数学运算的准确性和稳定性。
五、time.h。
time.h 提供了一系列用于时间操作的函数和宏定义,包括 time、clock、difftime、strftime 等。
c 标准库函数手册
c 标准库函数手册C 标准库函数手册。
C 标准库函数是 C 语言提供的一组函数库,它包含了一系列常用的函数,可以帮助程序员更高效地完成各种任务。
本手册将介绍 C 标准库函数的常用函数及其用法,帮助读者更加深入地理解和运用这些函数。
一、stdio.h。
stdio.h 是 C 语言中用来进行输入输出操作的头文件,它包含了一系列与标准输入输出相关的函数。
其中,最常用的函数包括 printf、scanf、fopen、fclose 等。
这些函数可以帮助程序员进行屏幕输出、键盘输入、文件读写等操作。
例如,printf 函数可以用来向屏幕输出格式化的字符串,而 scanf 函数则可以用来从键盘接收输入并存储到变量中。
二、stdlib.h。
stdlib.h 是 C 语言中的标准库头文件之一,它包含了一系列与内存分配、随机数生成、字符串转换等功能相关的函数。
其中,最常用的函数包括 malloc、free、rand、atoi 等。
这些函数可以帮助程序员进行动态内存分配、随机数生成、字符串转换等操作。
例如,malloc 函数可以用来动态分配指定大小的内存空间,而 rand 函数则可以用来生成一个指定范围内的随机数。
三、math.h。
math.h 是 C 语言中的标准数学库头文件,它包含了一系列与数学运算相关的函数。
其中,最常用的函数包括 sin、cos、sqrt、pow 等。
这些函数可以帮助程序员进行各种数学运算,如三角函数计算、平方根计算、幂运算等。
例如,sin 函数可以用来计算给定角度的正弦值,而 sqrt 函数则可以用来计算一个数的平方根。
四、string.h。
string.h 是 C 语言中的标准字符串库头文件,它包含了一系列与字符串操作相关的函数。
其中,最常用的函数包括 strlen、strcpy、strcat、strcmp 等。
这些函数可以帮助程序员进行字符串的长度计算、复制、连接、比较等操作。
例如,strlen 函数可以用来计算一个字符串的长度,而 strcpy 函数则可以用来将一个字符串复制到另一个字符串中。
C语言参考手册之函数库
版权说明:本资料内容摘录自《C程序设计语言(第二版)》K&R著 徐宝文 李志译 尤晋元审校机械工业出版社出版 一书。
版权属原作者和出版社所有。
制作本资料为了我本人学习和参考,非商业用途。
建议读者阅读原书学习比较好,它更详细。
目录:附录B:标准库介绍标准库的组成,及使用注意。
B.1 输入与输出:<stdio.h>主要介绍流的概念等。
B.1.1 文件操作主要介绍 fopen(), freopen(), fflush(), fclose(), remove(), rename(), tmpfile(), tmpnam(), setvbuf(),setbuf()等。
B.1.2 格式化输出主要介绍 printf(), fprintf(), sprintf(), vprintf(), vfprintf(), vsprintf()等。
B.1.3 格式化输入主要介绍 fscanf(), scanf(), sscanf()等。
B.1.4 字符输入/输出函数主要介绍 fgetc(), fgets(), fputc(), fputs(), getc(), gets(), putc(),puts(), putchar(), ungetc()等。
B.1.5 直接输入输出主要介绍 fread()和fwrite()。
B.1.6 文件定位函数主要介绍 fseek(), ftell(), rewind(), fgetpos(), fsetpos()等。
B.1.7 错误处理函数主要介绍 clearerr(), feof(), ferror(), perror()等。
B.2 字符类别测试:<ctype.h>主要介绍 isalnum(c), isalpha(c), iscntrl(c), isdigit(c), … , tolower(c), toupper(c)等。
B.3 字符串函数:<string.h>主要介绍 strcpy(),strncpy(), strcat(), strncat(), strcmp(), strncmp(), strchar(), strrchr(), strspn(), strcspn(), strpbrk(), strstr(), strlen(), strerror(), strtok()等。
c语言标准函数库手册
c语言标准函数库手册
《C语言标准函数库手册》是一本全面的参考资料,旨在帮助程序员更好地理解和使用C语言标准库中的函数。
这本手册详细介绍了每个函数的语法、参数、返回值、功能描述和示例代码。
通过阅读这本手册,程序员可以快速找到所需函数,了解其用法和注意事项,从而提高编程效率和代码质量。
手册按照C语言标准库的章节组织,方便读者查阅。
每个章节都详细介绍了该章节所包含的函数,包括函数名、函数原型、参数说明、返回值说明、功能描述和示例代码。
此外,手册还提供了丰富的表格和图示,帮助读者更好地理解函数之间的关系和用法。
除了标准库中的函数,手册还介绍了C语言中的一些常用库和工具,如数学库、字符串库、时间库等。
这些库和工具的使用可以帮助程序员更高效地编写代码,解决实际问题。
总之,《C语言标准函数库手册》是一本非常实用的参考资料,对于C语言程序员来说是必备的。
通过阅读这本手册,程序员可以更好地掌握C语言标准库的使用,提高编程技能和效率。
C 语言 math函数库手册
函数名称: abs函数原型: int abs(int x);函数功能: 求整数x的绝对值函数返回: 计算结果参数说明:所属文件: <>,<>使用范例:#include <>#include <>int main(){int number=-1234;printf("number: %d absolute value: %d",number,abs(number));return 0;}@函数名称: fabs函数原型: double fabs(double x);函数功能: 求x的绝对值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){float number=;printf("number: %f absolute value: %f",number,fabs(number));return 0;}@函数名称: cabs函数原型: double cabs(struct complex znum)函数功能: 求复数的绝对值函数返回: 复数的绝对值参数说明: zuum为用结构struct complex表示的复数,定义如下:struct complex{double m;double n;}所属文件: <>#include <>#include <>int main(){struct complex z;double val;=;=;val=cabs(z);printf("The absolute value of %.2lfi %.2lfj is %.2lf",,,val); return 0;}@函数名称: ceil函数原型: double ceil(double num)函数功能: 得到不小于num的最小整数函数返回: 用双精度表示的最小整数参数说明: num-实数所属文件: <>#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: sin函数原型: double sin(double x);函数功能: 计算sinx的值.正弦函数函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>int main(){double result,x=;result=sin(x);printf("The sin() of %lf is %lf",x,result);return 0;}@函数名称: cos函数原型: double cos(double x);函数功能: 计算cos(x)的值.余弦函数.函数返回: 计算结果参数说明: x的单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=cos(x);printf("The cosine of %lf is %lf",x,result);return 0;}@函数名称: tan函数原型: double tan(double x);函数功能: 计算tan(x)的值,即计算角度x的正切数值函数返回: 计算结果参数说明: x>=0单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tan(x);printf("The tan of %lf is %lf",x,result);}@函数名称: asin函数原型: double asin(double x);函数功能: 计算sin^-1(x)的值.反正弦值函数函数返回: 计算结果参数说明: x应在-1 到 1 范围内.单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=asin(x);printf("The arc sin of %lf is %lf",x,result);return 0;}@函数名称: acos函数原型: double acos(double x);函数功能: 计算cos^-1(x)的值,反余弦函数函数返回: 计算结果参数说明: x应在-1到1范围内.切记单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=acos(x);printf("The arc cosine of %lf is %lf",x,result);return 0;}@函数名称: atan函数原型: double atan(double x);函数功能: 计算tan^-1(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=atan(x);printf("The arc tangent of %lf is %lf",x,result);return 0;}@函数名称: atan2函数原型: double atan2(double x,double y);函数功能: 计算tan^-1/(x/y)的值.求x/y的反正切值. 函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=,y=;result=atan2(y,x);printf("The arc tangent ratio of %lf is %lf",(y/x),result); return 0;}@函数名称: sinh函数原型: double sinh(double x);函数功能: 计算x的双曲正弦函数sinh(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>int main(){double result,x=;result=sinh(x);printf("The hyperbolic sin() of %lf is %lf",x,result); return 0;}@函数名称: cosh函数原型: double cosh(double x);函数功能: 计算x的双曲余弦cosh(x)的值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=cosh(x);printf("The hyperboic cosine of %lf is %lf",x,result); return 0;}@函数名称: tanh函数原型: double tanh(double x);函数功能: 计算x的双曲正切函数tanh(x)的值. 函数返回: 计算结果参数说明: x>=0所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tanh(x);printf("The hyperbolic tangent of %lf is %lf",x,result);}@函数名称: exp函数原型: double exp(double x);函数功能: 求e的x次幂函数返回: 计算结果.幂的值参数说明: x-指数所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=exp(x);printf("'e' raised to the power of %lf(e^%lf)=%lf",x,x,result); return 0;}@函数名称: floor函数原型: double floor(double x);函数功能: 求出不大于x的最大整数.函数返回: 该整数的双精度实数参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: fmod函数原型: double fmod(double x,double y);函数功能: 求整数x/y的余数函数返回: 返回余数的双精度数.x/y的余数值.参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;double result;result=fmod(x,y);printf("The remainder of (%lf/%lf) is %lf",x,y,result);return 0;}@函数名称: frexp函数原型: double frexp(double val,int *eptr);函数功能: 把双精度数val分解为数字部分(尾数)x和以2为底的指数n,即val=x*2^n,n存放在eptr 指向的变量中.函数返回: 返回数字部分x,<=x且x<1参数说明: val-待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double mantissa,number;int exponent;number=;mantissa=frexp(number,&exponent);printf("The number %lf is",number);printf("%lf times two to the",mantissa);printf("power of %d",exponent);return 0;}@函数名称: log函数原型: double log(double x);函数功能: 求logeX(e指的是以e为底),即计算x的自然对数(ln X)函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log(x);printf("The natural log of %lf is %lf",x,result);return 0;}@函数名称: log10函数原型: double log10(double x);函数功能: 求log10x(10指的是以10为底).计算x的常用对数函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log10(x);printf("The common log of %lf is %lf",x,result);return 0;}@函数名称: modf函数原型: double modf(double val,double *iptr);函数功能: 把双精度数val分解为整数部分和小数部分,把整数部分存到iptr指向的单元. 函数返回: val的小数部分参数说明: val 待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double fraction,integer;double number=;fraction=modf(number,&integer);printf("The whole and fractional parts of %lf are %lf and%lf",number,integer,fraction);return 0;}@函数名称: pow函数原型: double pow(double x,double y);函数功能: 计算以x为底数的y次幂,即计算x^y的值. 函数返回: 计算结果参数说明: x-底数,y-幂数所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;printf("%lf raised to %lf is %lf",x,y,pow(x,y));return 0;}@函数名称: sqrt函数原型: double sqrt(double x);函数功能: 计算x的开平方.函数返回: 计算结果参数说明: x>=0所属文件: <>使用范例:#include <>#include <>int main(){double x=,result;result=sqrt(x);printf("The square root of %lf is %lf",x,result);return 0;}@函数名称: hypot函数原型: double hypot(double x,double y)函数功能: 已知直角三角形两个直角边长度,求斜边长度函数返回: 斜边长度参数说明: x,y-直角边长度所属文件: <>#include <>#include <>int main(){double result;double x=;double y=;result=hypot(x,y);printf("The hypotenuse is: %lf",result);return 0;}@函数名称: poly函数原型: double poly(double x,int degree,double coeffs[]) 函数功能: 计算多项式函数返回: 多项式的计算结果参数说明: 计算c[n]*x^n+c[n-1]x^n-1+.....+c[1]*x+c[0]所属文件: <>#include <>#include <>int main(){double array[]={,,,};double result;result=poly,3,array);printf("The polynomial: x**3 - **2 + 5x - 1 at is %lf",result); return 0;}@函数名称: matherr函数原型: int matherr(struct exception *e)函数功能: 数学错误计算处理程序函数返回:参数说明: 该函数不能被直接调用,而是被库函数_matherr()调用所属文件: <>#include<>int matherr(struct exception *a){return 1;}@函数名称: ldexp函数原型: double ldexp(double x,int exponent)函数功能: 计算x*2的exponent次幂,即2*pow(2,exponent)的数值函数返回:参数说明:所属文件: <>#include <>#include <>int main(){double value;double x=2;value=ldexp(x,3);printf("The ldexp value is: %lf",value);return 0;}int abs(int i) 返回整型参数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) 返回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 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的双曲正切tanh(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)将双精度数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,int *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 *ltoa(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转换成长整型数,并返回这个数,错误返回0 double 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)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字。
linux下的c库函数大全
linux下的c库函数大全,虽然没有函数描述,但是最起码可以知道分类,就可以去man 了[table=95%][tr][td][font=FixedSys]Linux C函数库参考手册第1章字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ASCII码字符)isblank(测试字符是否为空格字符)iscntrl(测试字符是否为ASCII码的()控制字符)isdigit(测试字符是否为阿拉伯数字)isgraph(测试字符是否为可打印字符)islower(测试字符是否为小写英文字母)isprint(测试字符是否为可打印字符)isspace(测试字符是否为空格字符)ispunct(测试字符是否为标点符号或特殊符号)isupper(测试字符是否为大写英文字母)isxdigit(测试字符是否为16进制数字)第2章数据转换函数atof(将字符串转换成浮点型数)1atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)ecvt(将浮点型数转换成字符串,19取四舍五入)fcvt(将浮点型数转换为字符串,20取四舍五入)gcvt(将浮点型数转换为字符串,21取四舍五入)第3章内存配置函数alloca(配置内存空间)brk(改变数据字节的()范围)calloc(配置内存空间)free(释放原先配置的()内存)getpagesize(取得内存分页大小)malloc(配置内存空间)mmap(建立内存映射)munmap(解除内存映射)realloc(更改己配置的()内存空间)sbrk(增加程序可用的()数据空间)第4章时间函数asctime(将时间和日期以字符串格式表示)clock(取得进程占用CPU的()大约时间)ctime(将时间和日期以字符串格式表示)difftime(计算时间差距)ftime(取得目前的()时间和日期)gettimeofday(取得目前的()时间)gmtime(取得目前的()时间和日期)localtime(取得当地目前的()时间和日期)mktime(将时间结构数据转换成经过的()秒数)settimeofday(设置目前的()时间)strftime(格式化日期和时间)time(取得目前的()时间)tzset(设置时区以供时间转换)第5章字符串处理函数bcmp(比较内存内容)bcopy(拷贝内存内容)bzero(将一段内存内容全清为零)ffs(在一整型数中查找第一个值为真的()位)index(查找字符串中第一个出现的()指定字符)memccpy(拷贝内存内容)memchr(在某一内存范围中查找一特定字符)memcmp(比较内存内容)memcpy(拷贝内存内容)memfrob(对内存区域编码)memmove(拷贝内存内容)memset(将一段内存空间填入某值)rindex(查找字符串中最后一个出现的()指定字符) strcasecmp(忽略大小写比较字符串)strcat(连接两字符串)strchr(查找字符串中第一个出现的()指定字符)strcmp(比较字符串)strcoll(采用目前区域的()字符排列次序来比较字符串) strcpy(拷贝字符串)strcspn(返回字符串中连续不含指定字符串内容的()字符数) strdup(复制字符串)strfry(随机重组字符串内的()字符)strlen(返回字符串长度)strncasecmp(忽略大小写比较字符串)strncat(连接两字符串)strncmp(比较字符串)strncpy(拷贝字符串)strpbrk(查找字符串中第一个出现的()指定字符)strrchr(查找字符串中最后一个出现的()指定字符)strspn(返回字符串中连续不合指定字符串内容的()字符数) strstr(在一字符串中查找指定的()字符串)strtok(分割字符串)第6章数学计算函数abs(计算整型数的()绝对值)acos(取反余弦函数值)asin(取反正弦函数值)atan(取反正切函数值)atan2(取得反正切函数值)ceil(取不小于参数的()最小整型数)cos(取余弦函数值)cosh(取双曲线余弦函数值)div(取得两整型数相除后的()商及余数)exp(计算指数)fabs(计算浮点型数的()绝对值)frexp(将浮点型数分为底数与指数)hypot(计算直角三角形斜边长)labs(计算长整型数的()绝对值)ldexp(计算2的()次方值)ldiv(取得两长整数相除后的()商及余数)log(计算以e为底的()对数值)log10(计算以10为底的()对数值)modf(将浮点型数分解成整数与小数)pow(计算次方值)sin(取正弦函数值)sinh(取双曲线正弦函数值)sqrt(计算平方根值)tan(取正切函数值)tanh(取双曲线正切函数值)第7章用户和组函数cuserid(取得用户帐号名称)endgrent(关闭组文件)endpwent(关闭密码文件)endutent(关闭utmp文件)fgetgrent(从指定的()文件来读取组格式) fgetpwent(从指定的()文件来读取密码格式) getegid(取得有效的()组识别码)geteuid(取得有效的()用户识别码)getgid(取得真实的()组识别码)getgrent(从组文件文件中取得帐号的()数据) getgrgid(从组文件中取得指定gid的()数据) getgrnan(从组文件中取得指定组的()数据) getgroups(取得组代码)getlogin(取得登录的()用户帐号名称)getpw(取得指定用户的()密码文件数据) getpwent(从密码文件中取得帐号的()数据) getpwnam(从密码文件中取得指定帐号的()数据) getpwuid(从密码文件中取得指定uid的()数据) getuid(取得真实的()用户识别码)getutent(从utmp文件中取得帐号登录数据)getutid(从utmp文件中查找特定的()记录) getutline(从utmp文件中查找特定的()记录) initgroups(初始化组清单)logwtmp(将一登录数据记录到wtmp文件)pututline(将utmp记录写入文件)setegid(设置有效的()组识别码)seteuid(设置有效的()用户识别码)setfsgid(设置文件系统的()组识别码) setfsuid(设置文件系统的()用户识别码) setgid(设置真实的()组识别码)setgrent(从头读取组文件中的()组数据) setgroups(设置组代码)setpwent(从头读取密码文件中的()帐号数据) setregid(设置真实及有效的()组识别码) setreuid(设置真实及有效的()用户识别码) setuid(设置真实的()用户识别码)setutent(从头读取utmp/文件中的()登录数据) updwtmp(将一登录数据记录到wtmp文件)utmpname(设置utmp文件路径)第8章数据加密函数crypt(将密码或数据编码)getpass(取得一密码输入)第9章数据结构函数bsearch(二元搜索)hcreate(建立哈希表)hdestory(删除哈希表)hsearch(哈希表搜索)insque(加入一项目至队列中)lfind(线性搜索)lsearch(线性搜索)qsort(利用快速排序法排列数组)rremque(从队列中删除一项目)tdelete(从二叉树中删除数据)tfind(搜索二叉树)tsearch(二叉树)twalk(走访二叉树)第10章随机数函数drand48(产生一个正的()浮点型随机数) erand48(产生一个正的()浮点型随机数) initstate(建立随机数状态数组)jrand48(产生一个长整型数随机数)lcong48(设置48位运算的()随机数种子) lrand48(产生一个正的()长整型随机数) mrand48(产生一个长整型随机数)nrand48(产生一个正的()长整型随机数) rand(产生随机数)random(产生随机数)seed48(设置48位运算的()随机数种子)setstate(建立随机数状态数组)srand(设置随机数种子)srand48(设置48位运算的()随机数种子) srandom(设置随机数种子)第11章初级I/O函数close(关闭文件)creat(建立文件)dup(复制文件描述词)dup2(复制文件描述词)fcntl(文件描述词操作)flock(锁定文件或解除锁定)fsync(将缓冲区数据写回磁盘)lseek(移动文件的()读写位置)mkstemp(建立唯一的()临时文件)open(打开文件)read(由己打开的()文件读取数据)sync(将缓冲区数据写回磁盘)write(将数据写入已打开的()文件内)第12章标准I/O函数clearerr(清除文件流的()错误旗标)fclose(关闭文件)fdopen(将文件描述词转为文件指针)feof(检查文件流是否读到了文件尾)fflush(更新缓冲区)fgetc(由文件中读取一个字符)fgetpos(取得文件流的()读取位置)fgets(由文件中读取一字符串)fileno(返回文件流所使用的()文件描述词) fopen(打开文件)fputc(将一指定字符写入文件流中)fputs(将一指定的()字符串写入文件内) fread(从文件流读取数据)freopen(打开文件)fseek(移动文件流的()读写位置)fsetpos(移动文件流的()读写位置)ftell(取得文件流的()读取位置)fwrite(将数据写至文件流)getc(由文件中读取一个字符)getchar(由标准输入设备内读进一字符)gets(由标准输入设备内读进一字符串)mktemp(产生唯一的()临时文件文件名) putc(将一指定字符写入文件中)putchar(将指定的()字符写到标准输出设备) puts(将指定的()字符串写到标准输出设备)rewind(重设文件流的()读写位置为文件开头) setbuf(设置文件流的()缓冲区)setbuffer(设置文件流的()缓冲区)setlinebuf(设置文件流为线性缓冲区)setvbuf(设置文件流的()缓冲区)tmpfile(建立临时文件)ungetc(将一指定字符写回文件流中)第13章进程及流程控制abort(以异常方式结束进程)assert(若测试的()条件不成立则终止进程)atexit(设置程序正常结束前调用的()函数)execl(执行文件)execle(执行文件)execlp(从PATH环境变量中查找文件并执行)execv(执行文件)execve(执行文件)execvp(执行文件)exit(正常结束进程)_exit(结束进程执行)fork(建立一个新的()进程)getpgid(取得进程组识别码)getpgrp(取得进程组识别码)getpid(取得进程识别码)getppid(取得父进程的()进程识别码)getpriority(取得程序进程执行优先权)longjmp(跳转到原先setjmp保存的()堆栈环境)nice(改变进程优先顺序)on_exit(设置程序正常结束前调用的()函数) ptrace(进程追踪)setjmp(保存目前堆栈环境)setpgid(设置进程组识别码)setpgrp(设置进程组识别码)setpriority(设置程序进程执行优先权)siglongjmp(跳转到原先sigsetjmp保存的()堆栈环境) sigsetjmp(保存目前堆栈环境)system(执行shell命令)wait(等待子进程中断或结束)waitpid(等待子进程中断或结束)第14章格式化输人输出函数fprintf(格式化输出数据至文件)fscanf(格式化字符串输入)printf(格式化输出数据)scanf(格式化字符串输入)snprintf(格式化字符串复制)sprintf(格式化字符串复制)sscanf(格式化字符串输入)vfprintf(格式化输出数据至文件)vfcanf(格式化字符串输入)vprintf(格式化输出数据)vscanf(格式化字符串输入)vsnprintf(格式化字符串复制)vsprintf(格式化字符串复制)vsscanf(格式化字符串输入)第15章文件及目录函数access(判断是否具有存取文件的()权限) alphasort(依字母顺序排序目录结构)chdir(改变当前的()工作目录)chmod(改变文件的()权限)chown(改变文件的()所有者)chroot(改变根目录)closedir(关闭目录)fchdir(改变当前的()工作目录)fchmod(改变文件的()权限)fchown(改变文件的()所有者)fstat(由文件描述词取得文件状态)ftruncate(改变文件大小)ftw(遍历目录树)get_current_dir_name(取得当前的()工作目录) getcwd(取得当前的()工作目录)getwd(取得当前的()工作目录)lchown(改变文件的()所有者)link(建立文件连接)lstat(由文件描述词取得文件状态)nftw(遍历目录树)opendir(打开目录)readdir(读取目录)readlink(取得符号连接所指的()文件) realpath(将相对目录路径转换成绝对路径)remove(删除文件)rename(更改文件名称或位置)rewinddir(重设读取目录的()位置为开头位置) scandir(读取特定的()目录数据)seekdir(设置下回读取目录的()位置)stat(取得文件状态)symlink(建立文件符号连接)telldir(取得目录流的()读取位置)truncate(改变文件大小)umask(设置建立新文件时的()权限遮罩)unlink(删除文件)utime(修改文件的()存取时间和更改时间) utimes(修改文件的()存取时间和更改时间)第16章信号函数alarm(设置信号传送闹钟)kill(传送信号给指定的()进程)pause(让进程暂停直到信号出现)psignal(列出信号描述和指定字符串)raise(传送信号给目前的()进程)sigaction(查询或设置信号处理方式)sigaddset(增加一个信号至信号集)sigdelset(从信号集里删除一个信号)sigemptyset(初始化信号集)sigfillset(将所有信号加入至信号集)sigismember(测试某个信号是否已加入至信号集里)signal(设置信号处理方式)sigpause(暂停直到信号到来)sigpending(查询被搁置的()信号)sigprocmask(查询或设置信号遮罩)sigsuspend(暂停直到信号到来)sleep(让进程暂停执行一段时间)isdigit(测试字符是否为阿拉伯数字)第17章错误处理函数ferror(检查文件流是否有错误发生)perror(打印出错误原因信息字符串)streror(返回错误原因的()描述字符串)第18章管道相关函数mkfifo(建立具名管道)pclose(关闭管道I/O)pipe(建立管道)popen(建立管道I/O)第19章Soket相关函数accept(接受socket连线)bind(对socket定位)connect(建立socket连线)endprotoent(结束网络协议数据的()读取) endservent(结束网络服务数据的()读取) gethostbyaddr(由IP地址取得网络数据)gethostbyname(由主机名称取得网络数据) getprotobyname(由网络协议名称取得协议数据) getprotobynumber(由网络协议编号取得协议数据) getprotoent(取得网络协议数据)getservbyname(依名称取得网络服务的()数据) getservbyport(依port号码取得网络服务的()数据)getservent(取得主机网络服务的()数据) getsockopt(取得socket状态)herror(打印出网络错误原因信息字符串)hstrerror(返回网络错误原因的()描述字符串) htonl(将32位主机字符顺序转换成网络字符顺序)htons(将16位主机字符顺序转换成网络字符顺序)inet_addr(将网络地址转成网络二进制的()数字) inet_aton(将网络地址转成网络二进制的()数字) inet_ntoa(将网络二进制的()数字转换成网络地址) listen(等待连接)ntohl(将32位网络字符顺序转换成主机字符顺序)ntohs(将16位网络字符顺序转换成主机字符顺序)recv(经socket接收数据)recvfrom(经socket接收数据)recvmsg(经socket接收数据)send(经socket传送数据)sendmsg(经socket传送数据)sendto(经socket传送数据)setprotoent(打开网络协议的()数据文件) setservent(打开主机网络服务的()数据文件) setsockopt(设置socket状态)shutdown(终止socket通信)socket(建立一个socket通信)第20章进程通信(IPC)函数ftok(将文件路径和计划代号转为SystemcVIPCkey)msgctl(控制信息队列的()运作)msgget(建立信息队列)msgrcv(从信息队列读取信息)msgsnd(将信息送入信息队列)semctl(控制信号队列的()操作)semget(配置信号队列)semop(信号处理)shmat(attach共享内存)shmctl(控制共享内存的()操作)shmdt(detach共享内存)shmget(配置共享内存)第21章记录函数closelog(关闭信息记录)openlog(准备做信息记录)syslog(将信息记录至系统日志文件)第22章环境变量函数getenv(取得环境变量内容)putenv(改变或增加环境变量)setenv(改变或增加环境变量)unsetenv(清除环境变量内容)第23章正则表达式regcomp(编译正则表达式字符串)regerror(取得正则搜索的()错误原因) regexec(进行正则表达式的()搜索) regfree(释放正则表达式使用的()内存) 第24章动态函数dlclose(关闭动态函数库文件)dlerror(动态函数错误处理)dlopen(打开动态函数库文件)dlsym(从共享对象中搜索动态函数)第25章其他函数getopt(分析命令行参数)isatty(判断文件描述词是否是为终端机)select(I/O多工机制)ttyname(返回一终端机名称)。
C语言库函数参考手册
92 creat
int creat(char *filename,int permiss)
93 creatnew
int creatnew(char *filenamt,int attrib)
94 creattemp
int creattemp(char *filenamt,int attrib)
95 cscanf
99 DBL_DIG 100 DBL_EPSILON 101 DBL_MANT_DIG 102 DBL_MAX 103 DBL_MAX_EXP 104 DBL_MIN 105 DBL_MIN_EXP 106 delay 107 difftime 108 disable 109 div void delay(unsigned milliseconds) double difftime(time_t time2,time_t time1) void disable() div_t div(int numerator, int denominator);
110 dosexterr
int dosexterr(struct DOSERR *eblkp)
111 dostounix 112 dup
long dostounix(struct date *dateptr,struct time *timeptr) int dup(int handle)
113 dup2 114 enable 115 eof 116 exec„
int _creat(char *filename,int attrib) void _exit(int status) void _fpreset()
unsigned long _lrotl(unsigned long value,int count) unsigned long _lrotr(unsigned long value,int count) double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval)
C语言常用库函数
合用标准文案C 库函数1. 数学函数头文件为 #include<math.h>也许 #include"math.h"函数名函数原型功能返回值说明absint abs(int x)求整数 x 的绝对值计算结果double acos(doubleX 应在-1 到1范围acos计算 cos -1 (x) 的值计算结果x)内X 应在-1 到1范围asindouble asin(double x)计算 sin -1 (x) 的值计算结果内atan double atan(double x) 计算 tan -1 (x) 的值计算结果double atan2(doubleAtan2计算 tan -1 (x/y) 的值计算结果x,double y)cos double cos(double x) 计算 cos(x) 的值 计算结果 X 的单位为弧度double cosh(double计算 x 的双曲余弦cosh计算结果x)函数 cosh(x) 的值exp double exp(double x) 求 e x的值 计算结果 fabsdouble fabs(double x)求 x 的绝对值计算结果该整数的double floor(double求出不大于 x 的最floor双精度实x)大整数数fmod double fmod(double 求整除 x/y 的余数 返回余数合用标准文案x,double y) double frexp(double的双精度实数把双精度数val 分解为数字局部(尾数 )x返回数字和以 2 为底的指数frexpval, int *eptr)n ,即 val=x*2局部 xn0.5 ≤x< 1log double log(double x)double log10(double log10x)Double modf(double modfval, double *iptr)double pow(double powx,double y) rand Int rand(void)n 存放在eptr指向的变量中求 log ex,即 ln x计算结果求 log10x计算结果把双精度数val 分解为整数局部和小数Val 的小数局部,把整数局部存局部到 iptr计算xy的值计算结果产生随机 -90 到32767间的随机整随机整数数sin Double sin(double x)计算sin x的值计算结果X 单位为弧度sinh double sinh(double x)计算x的双曲正弦计算结果函数 sinh(x) 的值sqrt Double sqrt(double x)计算x计算结果X 应≥0 tan Double tan(double x)计算tan(x)的值计算结果X 单位为弧度Double tanh(double计算x的双曲正切tanh计算结果x)函数 tanh(x) 的值2.字符函数和字符串函数函数名函数原型功能返回值包括文件检查 ch 是否是字母isalnu Int isalnum (int是字母或数字返(alpha) 或数字m ch);回 1 ;否那么返回 0(numeric)是,返回 1 ;不是,isalpha Int isalpha(int ch);检查 ch 可否字母那么返回 0检查 ch 可否控制字符是,返回 1 ;不是,iscntrl Int iscntrl (int ch);〔其 ASCII 码在 0 和那么返回 00x1F 之间〕检查 ch 可否为数字是,返回 1 ;不是,isdigit Int isdigit (int ch);〔0~9 〕那么返回 0检查 ch 可否可打印字符Int isgraph (int是,返回 1 ;不是,isgraph〔其 ASCII 码在 0x21 和ch);那么返回 00x7E 之间〕,不包括空格Int islower (int检查 ch 可否小写字母是,返回 1 ;不是,islowerch);〔 a~z 〕那么返回 0检查 ch 可否可打印字符,〔包括空格〕,其是,返回 1 ;不是,isprint Intisprint (int ch);ASCII 码在 0x20 和 0x7E那么返回 0之间,ispunct Int ispunct (int检查 ch 可否标点字符是,返回 1 ;不是,ch);〔不包括空格〕,即除字那么返回0母、数字和空格以外的所有可打印字符Int isspace (int检查ch可否空格符、跳是,返回1;不是,isspacech);格符〔制表符〕或换行符那么返回0Int isupper (int检查ch可否大写字母是,返回1;不是,isupperch);〔A~Z 〕那么返回0检查 ch 可否一个十六进Intisxdigit (int是,返回1;不是,isxdigit制数字字符〔即0~9 ,ch);那么返回 0或 A~F ,或 a~f 〕把字符串str2 接到 str1char *strcat(charstrcat后边,str1 最后边的’ \0 ’Str1 *str1,char *str2);被取消找出 str 指向的字符串中返回指向该地址char *strchr(charstrchr第一次出现字符ch 的位的指针,如找不*str,int ch);置到,那么返回空指针Str1 <str2 ,返回负数;char *strcmp(char比较两个字符串str1 、Str1 =str2 ,返回strcmp*str1,char *str2);str20 ;str1 > str2 ,返回正数。
c语言标准库函数手册
c语言标准库函数手册C语言标准库函数手册。
C语言标准库函数是C语言中非常重要的一部分,它包含了大量的函数,可以帮助程序员实现各种功能。
本手册将详细介绍C语言标准库中常用的函数,希望能够帮助读者更好地理解和应用这些函数。
一、stdio.h。
stdio.h是C语言标准库中的一个头文件,它包含了一些常用的输入输出函数。
其中,最常用的函数包括printf、scanf、fopen、fclose等。
这些函数可以帮助程序员实现输入输出操作,是C语言编程中必不可少的一部分。
1. printf。
printf函数是C语言中用来输出格式化字符串的函数,它可以根据格式化字符串中的格式化指令,将相应的数据输出到标准输出设备(通常是显示器)。
例如,可以使用printf("%d", num)来输出一个整数。
2. scanf。
scanf函数是C语言中用来输入数据的函数,它可以根据格式化字符串中的格式化指令,从标准输入设备(通常是键盘)中读取数据并存储到指定的变量中。
例如,可以使用scanf("%d", &num)来输入一个整数并存储到变量num中。
3. fopen和fclose。
fopen函数用来打开一个文件,并返回一个指向该文件的指针。
fclose函数用来关闭一个已打开的文件。
这两个函数在文件操作中非常常用,可以帮助程序员实现文件的读写操作。
二、stdlib.h。
stdlib.h是C语言标准库中的另一个头文件,它包含了一些常用的通用工具函数。
其中,最常用的函数包括malloc、free、rand、exit等。
这些函数可以帮助程序员实现动态内存分配、随机数生成、程序退出等功能。
1. malloc和free。
malloc函数用来在堆上分配指定大小的内存空间,并返回指向该空间的指针。
free函数用来释放之前分配的内存空间。
这两个函数在动态内存管理中非常重要,可以帮助程序员灵活地管理内存空间。
C语言库函数手册
C语言库函数手册目录A. 分类函数[函数库为ctype.h] (1)B. 数学函数[函数库为math.h、stdlib.h、string.h、float.h] (2)C. 目录函数[函数库为dir.h、dos.h] (3)D. 进程函数[函数库为stdlib.h、process.h] (4)E. 转换子程序[函数库为math.h、stdlib.h、ctype.h、float.h] (6)F. 诊断函数[函数库为assert.h、math.h] (6)G. 输入输出子程序[函数库为io.h、conio.h、stat.h、dos.h、stdio.h、signal.h] (7)H. 接口子程序[函数库为dos.h、bios.h] (13)I. 操作函数[函数库为string.h、mem.h] (21)J. 存贮分配子程序[函数库为dos.h、alloc.h、malloc.h、stdlib.h、process.h] (23)K. 时间日期函数[函数库为time.h、dos.h] (24)int 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 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 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')int abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值double exp(double x) 返回指数函数e^x的值double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值double log(double x) 返回ln(x)的值double log10(double x) 返回log10(x)的值double pow(double x,double y) 返回x^y的值double pow10(int p) 返回10^p的值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的余弦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(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) 将字符串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转换成字符串并返回该字符串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,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(char *str,char **endptr,int base)将字符串str转换成长整型数,并返回这个数, 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() 返回浮点状态字int chdir(char *path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成功返回0int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0 void fumerge(char *path,char *drive,char *dir,char *name,char *ext) 此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名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、\BC\LIB等), 文件名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个字节长为为止.错误返回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 *pathname) 利用MSDOS找出文件filename所在路径,,此函数使用DOS的PATH变量,未找到文件返回NULLD. 进程函数[函数库为stdlib.h、process.h]void abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序。
C语言库函数手册
分类函数,所在函数库为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 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 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 int abs(int i) 返回整型参数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) 返回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 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的双曲正切tanh(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)将双精度数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,int *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 *ltoa(long value,char *string,int radix)将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *itoa(int value,char *string,int radix)将整数value转换成字符串存入string,radix为转换时所用基数double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0 int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0 long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 double 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)用户修改数学错误返回信息函数(没有必要使用)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:\\WPS\\TXT"ffblk为指定的保存文件信息的一个结构,定义如下:┏━━━━━━━━━━━━━━━━━━┓┃struct ffblk ┃┃{ ┃┃char ff_reserved[21]; /*DOS保留字*/┃┃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("*.wps",&ff,FA_RDONLY);int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0void fumerge(char *path,char *drive,char *dir,char *name,char * ext)此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名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、\BC\ LIB等),文件名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个字节长为为止.错误返回NULLint 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,成功返回0char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中char *searchpath(char *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 ex ecle( 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(arg1,arg2,argv[],envp[])传递给子程序,出错返回-1在exec函数族中,后缀l、v、p、e添加到exec后,所指定的函数将具有某种操作能力有后缀p时,函数可以利用DOS的PATH变量查找子程序文件l时,函数中被传递的参数个数固定v时,函数中被传递的参数个数不固定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,char *arg1,…, char *argn,NULL,char *envp[])int spawnlp( int mode,char *pathn ame,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[])传递给子程序.出错返回-1mode为运行模式mode为P_WAIT 表示在子程序运行完后返回本程序P_NOWAIT 表示在子程序运行时同时运行本程序(不可用)P_OVERLAY表示在本程序退出后运行子程序在spawn函数族中,后缀l、v、p、e添加到spawn后,所指定的函数将具有某种操作能力有后缀p时, 函数利用DOS的PATH查找子程序文件l时, 函数传递的参数个数固定.v时, 函数传递的参数个数不固定.e时, 指定参数envp可以传递给子程序,允许改变子程序运行环境.当无后缀e时,子程序使用本程序的环境.int system(char *command) 将MSDOS命令command传递给DO S执行转换子程序,函数库为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)将浮点数value转换成字符串并返回该字符串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,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(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 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)用户修改数学错误返回信息函数(没有必要使用) 输入输出子程序,函数库为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() 从控制台(键盘)读一个字符,显示在屏幕上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…])从控制台读入一个字符串,分别对各个参数进行赋值,直接对控制台作操作,比如显示器在显示时字符时即为直接写频方式显示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) 发送一个字符串string给控制台(显示器), 直接对控制台作操作,比如显示器即为直接写频方式显示int printf(char *format[,argument,…]) 发送格式化字符串输出给控制台(显示器) 使用BIOS进行输出int vprintf(char *format,Valist param) 发送格式化字符串输出给控制台(显示器) 使用BIOS进行输出,参数从Valist param中取得int cprintf(char *format[,argument,…]) 发送格式化字符串输出给控制台(显示器),直接对控制台作操作,比如显示器即为直接写频方式显示int vcprintf(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 *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 │测试可换性;只对于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│只允许当前处理必须存取的文件││O_DENYWRITE │只允许从任何其它打开的文件读││O_DENYREAD│只允许从任何其它打开的文件写││O_DENYNONE│允许其它共享打开的文件│└──────┴────────────────────┘接口子程序,所在函数库为:dos.h、bios.hunsigned sleep(unsigned seconds)暂停seconds微秒(百分之一秒)int unlink(char *filename)删除文件filenameunsigned FP_OFF(void far *farptr)本函数用来取远指针farptr的偏移量unsigned FP_SEG(void far *farptr)本函数用来没置远指针farptr的段值void far *MK_FP(unsigned seg,unsigned off)根据段seg和偏移量off构造一个far指针unsigned getpsp()取程序段前缀的段地址,并返回这个地址char *parsfnm(char *cmdline,struct fcb *fcbptr,int option) 函数分析一个字符串,通常,对一个文件名来说,是由cmdline所指的一个命令行.文件名是放入一个FCB中作为一个驱动器,文件名和扩展名.FCB是由fcb ptr所指定的.option参数是DOS分析系统调用时,AL文本的值.int absread(int drive,int nsects,int sectno,void *buffer)本函数功能为读特定的磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要读的扇区数,sect no为开始的逻辑扇区号,buffer为保存所读数据的保存空间int abswrite(int drive,int nsects,int sectno,void *buffer)本函数功能为写特定的磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要写的扇区数,sect no为开始的逻辑扇区号,buffer为保存所写数据的所在空间void getdfree(int drive,struct dfree *dfreep)本函数用来取磁盘的自由空间,drive为磁盘号(0=当前,1=A等).函数将磁盘特性的由dfreep指向的df ree结构中.dfree结构如下:┌───────────────────┐│struct dfree ││{ ││unsigned df_avail; /*有用簇个数*/ ││unsigned df_total; /*总共簇个数*/ ││unsigned df_bsec; /*每个扇区字节数*/││unsigned df_sclus; /*每个簇扇区数*/ ││} │└───────────────────┘char far *getdta() 取磁盘转换地址DTAvoid setdta(char far *dta)设置磁盘转换地址DTAvoid getfat(int drive,fatinfo *fatblkp)本函数返回指定驱动器drive(0=当前,1=A,2=B等)的文件分配表信息并存入结构fatblkp中,结构如下:┌──────────────────┐│struct fatinfo ││{ ││char fi_sclus; /*每个簇扇区数*/ ││char fi_fatid; /*文件分配表字节数*/││int fi_nclus; /*簇的数目*/ ││int fi_bysec; /*每个扇区字节数*/ ││} │└──────────────────┘void getfatd(struct fatinfo *fatblkp) 本函数返回当前驱动器的文件分配表信息,并存入结构fatblkp中,结构如下:┌──────────────────┐│struct fatinfo ││{ ││char fi_sclus; /*每个簇扇区数*/ ││char fi_fatid; /*文件分配表字节数*/││int fi_nclus; /*簇的数目*/ ││int fi_bysec; /*每个扇区字节数*/ ││} │└──────────────────┘int bdos(int dosfun,unsigned dosdx,unsigned dosal)本函数对MSDOS 系统进行调用,dosdx为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号int bdosptr(int dosfun,void *argument,unsiigned dosal)本函数对MSDOS系统进行调用,argument为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号int int86(int intr_num,union REGS *inregs,union REGS *outregs) 执行intr_num号中断,用户定义的寄存器值存于结构inregs中,执行完后将返回的寄存器值存于结构outregs中.int int86x(int intr_num,union REGS *inregs,union REGS *outregs, struct SREGS *segregs)执行intr_num号中断,用户定义的寄存器值存于结构inregs中和结构segregs中,执行完后将返回的寄存器值存于结构outregs中.int intdos(union REGS *inregs,union REGS *outregs)本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值存于结构inregs中,执行完后函数将返回的寄存器值存于结构outregs中int intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs)本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值存于结构inregs和segregs中,执行完后函数将返回的寄存器值存于结构outregs中void intr(int intr_num,struct REGPACK *preg)本函数中一个备用的8086软件中断接口它能产生一个由参数intr_num指定的8086软件中断.函数在执行软件中断前,从结构preg复制用户定义的各寄存器值到各个寄存器.软件中断完成后, 函数将当前各个寄存器的值复制到结构preg中.参数如下:intr_num 被执行的中断号preg为保存用户定义的寄存器值的结构,结构如下┌──────────────────────┐│struct REGPACK ││{ ││unsigned r_ax,r_bx,r_cx,r_dx; ││unsigned r_bp,r_si,r_di,r_ds,r_es,r_flags; ││} │└──────────────────────┘函数执行完后,将新的寄存器值存于结构preg中void keep(int status,int size)以status状态返回MSDOS,但程序仍保留于内存中,所占用空间由size决定.void ctrlbrk(int (*fptr)()) 设置中断后的对中断的处理程序.void disable() 禁止发生中断void enable() 允许发生中断void geninterrupt(int intr_num)执行由intr_num所指定的软件中断void interrupt(* getvect(int intr_num))() 返回中断号为intr_num的中断处理程序,例如: old_int_10h=getvect(0x10);void setvect(int intr_num,void interrupt(* isr)()) 设置中断号为intr_num的中断处理程序为isr,例如: setvect(0x10,new_int_10h);void harderr(int (*fptr)()) 定义一个硬件错误处理程序,每当出现错误时就调用fptr所指的程序void hardresume(int rescode)硬件错误处理函数void hardretn(int errcode) 硬件错误处理函数int inport(int prot) 从指定的输入端口读入一个字,并返回这个字int inportb(int port)从指定的输入端口读入一个字节,并返回这个字节void outport(int port,int word) 将字word写入指定的输出端口port void outportb(int port,char byte)将字节byte写入指定的输出端口port int peek(int segment,unsigned offset) 函数返回segment:offset处的一个字char peekb(int segment,unsigned offset)函数返回segment:offset处的一个字节void poke(int segment,int offset,char value) 将字value写到segment:offset处void pokeb(int segment,int offset,int value) 将字节value写到segment:offset处int randbrd(struct fcb *fcbptr,int reccnt)函数利用打开fcbptr所指的FCB读reccnt个记录.int randbwr(struct fcb *fcbptr,int reccnt)函数将fcbptr所指的FCB中的reccnt个记录写到磁盘上void segread(struct SREGS *segtbl)函数把段寄存器的当前值放进结构s egtbl中int getverify() 取检验标志的当前状态(0=检验关闭,1=检验打开)void setverify(int value)设置当前检验状态,value为0表示关闭检验,为1表示打开检验int getcbrk()本函数返回控制中断检测的当前设置int setcbrk(int value)本函数用来设置控制中断检测为接通或断开当value=0时,为断开检测.当value=1时,为接开检测int dosexterr(struct DOSERR *eblkp)取扩展错误.在DOS出现错误后,此函数将扩充的错误信息填入eblkp所指的DOSERR结构中.该结构定义如下:┌──────────────┐│struct DOSERR ││{ ││int exterror;/*扩展错误*/ ││char class; /*错误类型*/ ││char action; /*方式*/ ││char locus; /*错误场所*/ ││} │└──────────────┘操作函数,所在函数库为string.h、mem.hmem…操作存贮数组void *memccpy(void *destin,void *source,unsigned char ch,unsigned n)void *memchr(void *s,char ch,unsigned n)void *memcmp(void *s1,void *s2,unsigned n)int memicmp(void *s1,void *s2,unsigned n)void *memmove(void *destin,void *source,unsigned n)void *memcpy(void *destin,void *source,unsigned n)void *memset(void *s,char ch,unsigned n)这些函数,mem…系列的所有成员均操作存贮数组.在所有这些函数中,数组是n 字节长.memcpy从source复制一个n字节的块到destin.如果源块和目标块重迭,则选择复制方向,以例正确地复制覆盖的字节.memmove与memcpy相同.memset将s的所有字节置于字节ch中.s数组的长度由n给出.memcmp比较正好是n字节长的两个字符串s1和s2.些函数按无符号字符比较字节,因此,memcmp("0xFF","\x7F",1)返回值大于0.memicmp比较s1和s2的前n个字节,不管字符大写或小写.memccpy从source复制字节到destin.复制一结束就发生下列任一情况:(1)字符ch首选复制到destin.(2)n个字节已复制到destin.memchr对字符ch检索s数组的前n个字节.返回值:memmove和memcpy返回destinmemset返回s的值memcmp和memicmp─┬─若s1<s2返回值小于0├─若s1=s2返回值等于0└─若s1>s2返回值大于0memccpy若复制了ch,则返回直接跟随ch的在destin中的字节的一个指针;否则返回NULLmemchr返回在s中首先出现ch的一个指针;如果在s数组中不出现ch,就返回NULL.void movedata(int segsrc,int offsrc,int segdest,int offdest,unsigned numbytes)本函数将源地址(segsrc:offsrc)处的numbytes个字节复制到目标地址(segdest:offdest)void movemem(void *source,void *destin,unsigned len) 本函数从source处复制一块长len字节的数据到destin.若源地址和目标地址字符串重迭,则选择复制方向,以便正确的复制数据.void setmem(void *addr,int len,char value)本函数把addr所指的块的第一个字节置于字节value中.str…字符串操作函数char stpcpy(char *dest,const char *src)将字符串src复制到destchar strcat(char *dest,const char *src)将字符串src添加到dest末尾char strchr(const char *s,int c)检索并返回字符c在字符串s中第一次出现的位置int strcmp(const char *s1,const char *s2)比较字符串s1与s2的大小,并返回s1-s2char strcpy(char *dest,const char *src)将字符串src复制到destsize_t strcspn(const char *s1,const char *s2)扫描s1,返回在s1中有,在s2中也有的字符个数char strdup(const char *s)将字符串s复制到最近建立的单元int stricmp(const char *s1,const char *s2)比较字符串s1和s2,并返回s1-s2size_t strlen(const char *s)返回字符串s的长度char strlwr(char *s)将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串char strncat(char *dest,const char *src,size_t maxlen) 将字符串src中最多maxlen个字符复制到字符串dest中int strncmp(const char *s1,const char *s2,size_t maxlen) 比较字符串s1与s2中的前maxlen个字符char strncpy(char *dest,const char *src,size_t maxlen) 复制src中的前maxlen个字符到dest中int strnicmp(const char *s1,const char *s2,size_t maxlen) 比较字符串s1与s2中的前maxlen个字符char strnset(char *s,int ch,size_t n)将字符串s的前n个字符置于ch中char strpbrk(const char *s1,const char *s2)扫描字符串s1,并返回在s1和s2中均有的字符个数char strrchr(const char *s,int c)扫描最后出现一个给定字符c的一个字符串schar strrev(char *s)将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串char strset(char *s,int ch)将一个字符串s中的所有字符置于一个给定的字符chsize_t strspn(const char *s1,const char *s2)扫描字符串s1,并返回在s1和s2中均有的字符个数char strstr(const char *s1,const char *s2)扫描字符串s2,并返回第一次出现s1的位置char strtok(char *s1,const char *s2)检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔char strupr(char *s)将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串存贮分配子程序,所在函数库为dos.h、alloc.h、malloc.h、stdlib.h、pro cess.hint allocmem(unsigned size,unsigned *seg)利用DOS分配空闲的内存,size为分配内存大小,seg为分配后的内存指针int freemem(unsigned seg)释放先前由allocmem分配的内存,seg为指定的内存指针int setblock(int seg,int newsize)本函数用来修改所分配的内存长度, seg为已分配内存的内存指针,newsize为新的长度int brk(void *endds)本函数用来改变分配给调用程序的数据段的空间数量,新的空间结束地址为enddschar *sbrk(int incr)本函数用来增加分配给调用程序的数据段的空间数量,增加incr个字节的空间unsigned long coreleft() 本函数返回未用的存储区的长度,以字节为单位void *calloc(unsigned nelem,unsigned elsize)分配nelem个长度为elsize的内存空间并返回所分配内存的指针void *malloc(unsigned size)分配size个字节的内存空间,并返回所分配内存的指针void free(void *ptr)释放先前所分配的内存,所要释放的内存的指针为ptr void *realloc(void *ptr,unsigned newsize)改变已分配内存的大小,ptr 为已分配有内存区域的指针,newsize为新的长度,返回分配好的内存指针.long farcoreleft() 本函数返回远堆中未用的存储区的长度,以字节为单位void far *farcalloc(unsigned long units,unsigned long unitsz) 从远堆分配units个长度为unitsz的内存空间,并返回所分配内存的指针void *farmalloc(unsigned long size)分配size个字节的内存空间, 并返回分配的内存指针void farfree(void far *block)释放先前从远堆分配的内存空间, 所要释放的远堆内存的指针为blockvoid far *farrealloc(void far *block,unsigned long newsize)改变已分配的远堆内存的大小,block为已分配有内存区域的指针,newzie为新的长度,返回分配好的内存指针时间日期函数,函数库为time.h、dos.h在时间日期函数里,主要用到的结构有以下几个:总时间日期贮存结构tm┌──────────────────────┐│struct tm ││{ ││int tm_sec; /*秒,0-59*/ ││int tm_min; /*分,0-59*/ ││int tm_hour; /*时,0-23*/ ││int tm_mday; /*天数,1-31*/ ││int tm_mon; /*月数,0-11*/ ││int tm_year; /*自1900的年数*/ ││int tm_wday; /*自星期日的天数0-6*/ ││int tm_yday; /*自1月1日起的天数,0-365*/ ││int tm_isdst; /*是否采用夏时制,采用为正数*/││} │└──────────────────────┘日期贮存结构date┌───────────────┐│struct date ││{ ││int da_year; /*自1900的年数*/││char da_day; /*天数*/ ││char da_mon; /*月数1=Jan*/ ││} │└───────────────┘时间贮存结构time┌────────────────┐│struct time ││{ ││unsigned char ti_min; /*分钟*/││unsigned char ti_hour; /*小时*/││unsigned char ti_hund; ││unsigned char ti_sec; /*秒*/ │││└────────────────┘char *ctime(long *clock) 本函数把clock所指的时间(如由函数time返回的时间)转换成下列格式的字符串:Mon Nov 21 11:31:54 1983\n\0char *asctime(struct tm *tm)本函数把指定的tm结构类的时间转换成下列格式的字符串:Mon Nov 21 11:31:54 1983\n\0double difftime(time_t time2,time_t time1)计算结构time2和time1之间的时间差距(以秒为单位)struct tm *gmtime(long *clock)本函数把clock所指的时间(如由函数time 返回的时间)转换成格林威治时间,并以tm结构形式返回struct tm *localtime(long *clock)本函数把clock所指的时间(如函数time 返回的时间)转换成当地标准时间,并以tm结构形式返回void tzset()本函数提供了对UNIX操作系统的兼容性long dostounix(struct date *dateptr,struct time *timeptr) 本函数将dateptr所指的日期,timeptr所指的时间转换成UNIX格式,并返回自格林威治时间1970年1月1日凌晨起到现在的秒数void unixtodos(long utime,struct date *dateptr,struct time *timeptr)本函数将自格林威治时间1970年1月1日凌晨起到现在的秒数utime转换成DOS格式并保存于用户所指的结构dateptr和timeptr中void getdate(struct date *dateblk)本函数将计算机内的日期写入结构dateblk中以供用户使用void setdate(struct date *dateblk)本函数将计算机内的日期改成由结构dateblk所指定的日期void gettime(struct time *timep)本函数将计算机内的时间写入结构timep中,以供用户使用void settime(struct time *timep)本函数将计算机内的时间改为由结构timep所指的时间long time(long *tloc)本函数给出自格林威治时间1970年1月1日凌晨至现在所经过的秒数,并将该值存于tloc所指的单元中.int stime(long *tp)本函数将tp所指的时间(例如由time所返回的时间) 写入计算机中.。
Linux_C函数库参考手册
执行
c is a lower-case character s is a lower-case character e is a lower-case character
isprint(测试字符是否为可打印字符)
相关函数 表头文件 定义函数 函数说明
isgraph
#include<ctype.h>
int isprint(int c); 检查参数 c 是否为可打印字符,若 c 所对映的 ASCII 码可打印,其 中包含空格字符,则返回 TRUE。
此为宏定义,非真正函数
范例
/*将字符串 str[]中内含的空格字符找出,并显示空格字符的 ASCII 码*/ #include <ctype.h> main() {
char str="123c @# FD\tsP[e?\n"; int i; for(i=0;str[i]!=0;i++) if(isspace(str[i]))
isascii(测试字符是否为 ASCII 码字符)
相关函数 表头文件 定义函数 函数说明 返回值 附加说明
iscntrl
#include <ctype.h>
int isascii(int c); 检查参数 c 是否为 ASCII 码字符,也就是判断 c 的范围是否在 0 到 127 之间。 若参数 c 为 ASCII 码字符,则返回 TRUE,否则返回 NULL ( 0 )。
执行 @#[?
isupper(测试字符是否为大写英文字母)
相关函数 表头文件 定义函数 函数说明 返回值 附加说明
isalpha,islower #include<ctype.h> int isupper(int c) 检查参数 c 是否为大写英文字母。 若参数 c 为大写英文字母,则返回 TRUE,否则返回 NULL(0)。 此为宏定义,非真正函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分类函数,所在函数库为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 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 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) 返回整型参数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) 返回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 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的双曲正切tanh(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)将双精度数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,int *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 *ltoa(long value,char *string,int radix)将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *itoa(int value,char *string,int radix)将整数value转换成字符串存入string,radix为转换时所用基数double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0 int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0 long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 double 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)用户修改数学错误返回信息函数(没有必要使用)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:\\WPS\\TXT"ffblk为指定的保存文件信息的一个结构,定义如下:┏━━━━━━━━━━━━━━━━━━┓┃struct ffblk ┃┃{ ┃┃char ff_reserved[21]; /*DOS保留字*/┃┃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("*.wps",&ff,FA_RDONLY);int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0void fumerge(char *path,char *drive,char *dir,char *name,char *ext) 此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名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、\BC\LIB等),文件名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个字节长为为止.错误返回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 *pathname) 利用MSDOS找出文件filename所在路径, ,此函数使用DOS的PATH变量,未找到文件返回NULL进程函数,所在函数库为stdlib.h、process.hvoid abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序。