c语言库函数
常用C语言标准库函数
常用C语言标准库函数C语言编译系统提供了众多的预定义库函数和宏。
用户在编写程序时,可以直接调用这些库函数和宏。
这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。
1.测试函数Isalnum原型:int isalnum(int c)功能:测试参数c是否为字母或数字:是则返回非零;否则返回零头文件:ctype.hIsapha原型:int isapha(int c)功能:测试参数c是否为字母:是则返回非零;否则返回零头文件:ctype.hIsascii原型:int isascii(int c)功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零头文件:ctype.hIscntrl原型:int iscntrl(int c)功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.hIsdigit原型:int isdigit(int c)功能:测试参数c是否为数字:是则返回非零;否则返回零。
头文件:ctype.hIsgraph原型:int isgraph(int c)功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.hIslower原型:int islower(int c)功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.hIsprint原型:int isprint(int c)功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零头文件:ctype.hIspunct原型:int ispunct(int c)功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.hIsupper原型:int isupper(inr c)功能:测试参数c是否为大写字母:是则返回非零;否则返回零Isxdigit原型:int isxdigit(int c)功能:测试参数c是否为十六进制数:是则返回非零;否则返回零2.数学函数abs原型:int abs(int i)功能:返回整数型参数i的绝对值头文件:stdlib.h,math.hacos原型:double acos(double x)功能:返回双精度参数x的反余弦三角函数值头文件:math.hasin原型:double asin(double x)功能:返回双精度参数x的反正弦三角函数值头文件:math.hatan原型:double atan(double x)功能:返回双精度参数的反正切三角函数值头文件:math.hatan2原型:double atan2(double y,double x)功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.hcabs原型:double cabs(struct complex znum)功能:返回一个双精度数,为计算出复数znum的绝对值。
C语言常用库函数介绍
C语言常用库函数介绍C语言作为一种功能强大、使用广泛的编程语言,提供了许多常用的库函数来帮助开发者简化编程工作,提高代码的效率和可读性。
本文将介绍C语言中一些常用的库函数,包括字符串相关函数、数学函数、输入输出函数等。
一、字符串相关函数1. strlen函数功能:计算字符串的长度。
用法:size_t strlen(const char *str);示例:```c#include <string.h>#include <stdio.h>int main() {char str[] = "Hello World";int len = strlen(str);printf("字符串长度为:%d", len);return 0;}```这段代码会输出:字符串长度为:11。
2. strcpy函数功能:将一个字符串复制到另一个字符串。
用法:char *strcpy(char *dest, const char *src);示例:```c#include <string.h>#include <stdio.h>int main() {char src[] = "Hello World";char dest[20];strcpy(dest, src);printf("复制后的字符串为:%s", dest);return 0;}```这段代码会输出:复制后的字符串为:Hello World。
3. strcat函数功能:将一个字符串连接到另一个字符串末尾。
用法:char *strcat(char *dest, const char *src);示例:```c#include <string.h>#include <stdio.h>int main() {char str1[30] = "Hello";char str2[] = " World";strcat(str1, str2);printf("连接后的字符串为:%s", str1);return 0;}```这段代码会输出:连接后的字符串为:Hello World。
什么是C语言中的“库函数”?
什么是C语言中的“库函数”?库函数是在C语言中提供给开发者使用的已经编写好的函数集合。
它们是预先编写好的代码片段,供开发者在程序中调用和使用。
库函数可以用来执行一些常见的任务或者提供一些常用的功能,例如输入输出、字符串处理、数学计算等等。
C语言中的库函数通常分为两种类型:标准库函数和自定义库函数。
1. 标准库函数:标准库函数是C语言提供的基本函数库。
C语言标准库(C standard library)是C语言最基本的库函数集合,包含了针对C语言的标准化接口、常用宏定义和函数实现。
开发者可以通过引入标准库函数,快速地使用它们来编写程序。
标准库函数通常是平台无关的,可以在不同的操作系统上使用。
一些常见的标准库函数包括:- printf()和scanf():用于输出和输入信息。
- strlen()和strcpy():用于字符串处理。
- fopen()和fclose():用于文件操作。
- sqrt()和pow():用于数学计算。
2. 自定义库函数:自定义库函数是开发者自己编写的函数集合。
它们通常用于处理特定的任务或者提供特定的功能,以便在不同的程序中重复使用。
开发者可以根据自己的需求,编写自定义库函数,并将其组织成库文件(.lib或.a)。
然后,在其他程序中引入该库文件,即可使用自定义库函数。
自定义库函数可以提高开发效率,避免重复编写相同的代码。
它们可以将复杂的任务封装成简单的函数接口,提供给其他开发者使用。
自定义库函数的具体实现可以根据开发者的需求进行优化,以提高程序的性能和可靠性。
总结:库函数是C语言中的已编写好的函数集合,用于提供常见的功能和执行常见的任务。
它们分为标准库函数和自定义库函数。
开发者可以方便地使用标准库函数,并通过编写自定义库函数重复使用代码,提高开发效率和程序性能。
*注意:本文只是简单介绍了C语言中的库函数,具体的库函数和用法可以通过查阅相关文档进一步了解和掌握。
*。
C语言库函数
常见库函数
ANSI/ISO C 标准中定义了C 标准库的形式和内容,也就是C 标准指定了编译器必须支持的函数集,然而各厂家出品的编译器通常还包含有一些附加的函数,例如,通常的编译器都包含有图形函数,只要你的程序不移植到新环境,便可使用非标准函数而不会产生负作用,而如果你的程序要应用于不同的编译环境,这时就必须严格使用标准函数,本附录将列出常见标准库函数,对于非标准函数请读者查阅各C编译环境提供的帮助。
在使用标准函数时,程序必须使用#include 包含函数所在的头文件,表 1 列出了在C89 中定义的标准头文件及功能,表 2 列出了C99 中新增的标准头文件及功能。
表1 C89中定义的头文件及功能
表2 C99中新增的头文件及功能
1. I/O 函数
使用I/O函数时,都应使用#include <stdio.h>将头文件stdio.h包含到源程序文件中。
2. 串和字符函数
标准函数库有丰富的串和字符函数,串函数包含在头文件<string.h>中,字符串包含在头文
3. 数学函数
C99新增了大量的数学函数,在C89标准中只定义了22个,而C99中定义了三倍以上的数学函数;所有的数学函数都要求有头文件<math.h>。
4. 时间和日期函数
在标准函数库中包含有处理时间和日期的函数,也包含有处理地理信息的函数;处理时间和日期的函数要求有头文件<math.h>。
5. 动态内存分配函数
动态内存分配的核心是malloc( )和free( )函数。
配动内存分配函数的原型都在头文件
6. 实用函数。
C语言常用标准库函数
C语⾔常⽤标准库函数数学函数:在math.h中abs(x) :求整型数x的绝对值cos(x):x(弧度)的余弦fabs(x):求浮点数x的绝对值ceil(x):求不⼩于x的最⼩整数floor(x):求不⼤于x的最⼩整数log(x):求x的⾃然对数log10(x):求x的对数(底为10)pow(x,y):求x的y次⽅sin(x):求x(弧度)的正弦sqrt(x):求x的平⽅根字符处理函数:在ctype.h中声明int isdigit(int c):判断是否是数字字符int isalpha(int c):判断是否是⼀个字母int isalnum(int c):判断是否是⼀个数字或字母int islower(int c):判断是否是⼀个⼩写字母int isupper(int c):判断是否是⼀个⼤写字母int toupper(int c):转换成⼤写字母int tolower(int c):转换成⼩写字母字符串处理和内存操作函数声明于string.h中char *strchr(char *s,int c):如果s中包含字符c,则返回⼀个指向s第⼀次出现的该字符的指针,否则返回NULLchar *strstr(char *s1,char *s2):如果s2是s1的⼀个⼦串,则返回⼀个指向s1中⾸次出现s2的位置的指针,否则返回NULLchar *strlwr(char *s):将s中的字母都变成⼩写cahr *strupr(char *s):将s中的字母都变成⼤写char *strcpy(char *s1,char *s2):将字符串s2的内容复制到s1中去char *strncpy(char *s1,char *s2,int n):将字符串s2的内容复制到s1中去,但是最多复制n个字节,如果复制字节数达到n,那么就不会往s1中写⼊结尾的'\0'char *strcat(cahr *s1,char *s2):将字符串s2添加到s1末尾int strcmp(char *s1,char *s2):⽐较两个字符串,⼤⼩写相关int stricmp(char *s1,char *s2):⽐较两个字符串,⼤⼩写⽆关int strlen(const char *string):计算字符串的长度int strncmp(const char *string1,const char *string2,size_t count):分别取两个字符串的前count个字符作为字符串,⽐较他们的⼤⼩char *strrev(char *string):将字符串string前后颠倒void *memcpy(void *s1,void *s2,int n):将内存地址s2处的n个字节内容复制到内存地址s1void *memset(void *s,int c,int n):将内存地址s开始的n个字节全部置为c不过只能赋制为0,1fill(a,a+n,c):能够赋值为任意值字符串转换函数:定义在stdlib.h中int atoi(char *s):将字符串s转换为整型数double atof(char *s):将字符串s⾥的内容转换为浮点数char * itoa(int value,char *string,int radix):将整型值value以radix进制表⽰法写⼊string。
C语言中的数学库函数及其应用
C语言中的数学库函数及其应用C语言是一种通用性极强的编程语言,被广泛应用于科学计算、图形处理、嵌入式系统等领域。
而数学库函数则是C语言中重要的组成部分,它提供了一系列数学相关的函数,为程序员提供了方便与便利。
本文将探讨C语言中的数学库函数及其应用,带您深入了解C语言中的数学计算能力。
一、数学库函数的分类在C语言中,数学库函数主要分为以下几类:1. 基础数学函数:包括常见的四则运算、幂函数、开方函数等。
2. 三角函数:包括正弦、余弦、正切等三角函数。
3. 指数与对数函数:包括指数函数、对数函数等。
4. 双曲函数:包括双曲正弦、双曲余弦等。
5. 随机数函数:用于生成随机数的函数。
6. 其他特殊函数:包括阶乘函数、绝对值函数等。
二、数学库函数的应用1. 常见数学计算数学库函数可以用于执行常见的数学计算,如利用基础数学函数进行加减乘除运算,利用幂函数进行指数运算。
例如,可以使用pow函数计算2的平方、立方、四次方等。
另外,还可以使用sqrt函数计算一个数的平方根,使用fabs函数计算一个数的绝对值。
2. 三角函数的应用三角函数在科学计算中广泛应用。
通过使用sin、cos、tan等三角函数,可以实现角度与弧度之间的转换,以及各种三角函数值的计算。
在图形处理、信号处理等领域,三角函数的应用尤为重要。
例如,在图像旋转中,可以利用sin和cos函数计算旋转角度的正弦值和余弦值,从而实现图像的旋转变换。
3. 指数与对数函数的应用指数与对数函数在科学计算与数据处理中具有重要作用。
指数函数可以用于模拟自然增长过程,对于金融领域的复利计算、生态系统的模拟等都起到了关键作用。
对数函数则可以用于解决各类指数增长的问题,如寻找恒定增长率和解决指数方程等。
4. 随机数函数的应用随机数函数在模拟、游戏设计、密码学等领域有着广泛的应用。
C语言提供了一系列随机数生成函数,如rand和srand。
通过使用这些函数,我们可以生成满足特定要求的随机数序列,以实现模拟实验、游戏随机性、密码加密等功能。
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. <stdio.h>这是C语言中最常用的库函数之一,用于输入输出操作。
其中包括了printf()、scanf()等函数。
printf()函数用于输出内容到控制台或文件中,其格式为printf("输出格式", 输出变量)。
scanf()函数用于从控制台或文件中获取输入,其格式为scanf("输入格式", 输入变量)。
2. <stdlib.h>这是C语言中的标准库函数之一,用于动态存储分配、数学计算、排序和字符串处理等操作。
其中包括了malloc()、free()、rand()等函数。
malloc()函数用于动态分配内存,其格式为malloc(分配大小)。
free()函数用于释放动态分配的内存,其格式为free(需要释放的内存指针)。
rand()函数用于生成随机数,其格式为rand()。
3. <string.h>这是C语言中的字符串处理函数库,其中包括了strcpy()、strcat()、strlen()等函数。
strcpy()函数用于将一个字符串复制到另一个字符串中,其格式为strcpy(目标字符串, 源字符串)。
strcat()函数用于将一个字符串连接到另一个字符串的末尾,其格式为strcat(目标字符串, 源字符串)。
strlen()函数用于计算一个字符串的长度,其格式为strlen(字符串)。
4. <math.h>这是C语言中的数学函数库,其中包括了sin()、cos()、tan()等函数。
sin()函数用于计算正弦值,其格式为sin(弧度值)。
cos()函数用于计算余弦值,其格式为cos(弧度值)。
tan()函数用于计算正切值,其格式为tan(弧度值)。
5. <ctype.h>这是C语言中的字符处理函数库,其中包括了isalpha()、isdigit()、toupper()等函数。
CC++——C语言库函数大全
CC++——C语⾔库函数⼤全本⽂转载⾃:https:///yanfan0916/article/details/6450442###;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值,否则返回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')2. 数学函数: 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) 返回指数函数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+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) 将字符串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() 返回浮点状态字3. ⽬录函数: 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变量,未找到⽂件返回NULL4. 进程函数: stdlib.h 、 process.hvoid abort() 此函数通过调⽤具有出⼝代码3的_exit写⼀个终⽌信息于stderr,并异常终⽌程序。
c语言中库函数
c语言中库函数一、库函数简介• 1.1 什么是库函数• 1.2 库函数的优缺点二、常用库函数及其功能• 2.1 输入输出库函数– 2.1.1 printf函数– 2.1.2 scanf函数– 2.1.3 getchar和putchar函数• 2.2 字符串处理库函数– 2.2.1 strcpy函数– 2.2.2 strcat函数– 2.2.3 strlen函数• 2.3 内存管理库函数– 2.3.1 malloc函数– 2.3.2 calloc函数– 2.3.3 realloc函数– 2.3.4 free函数• 2.4 数学库函数– 2.4.1 abs函数– 2.4.2 sin函数– 2.4.3 cos函数– 2.4.4 pow函数• 2.5 时间日期库函数– 2.5.1 time函数– 2.5.2 localtime函数• 2.6 文件操作库函数– 2.6.1 fopen函数– 2.6.2 fclose函数– 2.6.3 fread函数– 2.6.4 fwrite函数三、库函数的使用方法• 3.1 链接库函数• 3.2 调用库函数四、自定义库函数• 4.1 编写自定义库函数的步骤• 4.2 调用自定义库函数的方法五、总结一、库函数简介1.1 什么是库函数库函数是指在C语言中预先编译好的一些函数,可以通过引入相关的头文件来使用。
库函数为程序员提供了一些常用的功能,以便更加方便地开发应用程序。
1.2 库函数的优缺点•优点:库函数提供了丰富的功能,可以加快程序开发过程,提高开发效率。
库函数经过多次测试和验证,通常很稳定和可靠。
•缺点:库函数的功能有限,不能满足所有需求。
有时候,库函数的调用会增加程序的运行时间和内存占用。
二、常用库函数及其功能2.1 输入输出库函数2.1.1 printf函数•功能:在屏幕上输出文本和数据。
•用法:printf("format_string", arg1, arg2, ...)。
c语言标准函数库
c语言标准函数库C语言标准函数库。
C语言标准函数库(C standard library)是C语言的标准库,提供了一系列的函数、宏和变量,用于支持C语言的基本操作和功能。
C语言标准函数库包含在C语言标准中,并由各个C语言编译器实现和提供。
在本文中,我们将对C语言标准函数库进行详细介绍,包括其功能、常用函数以及使用方法。
C语言标准函数库的功能非常丰富,包括数学运算、字符串操作、输入输出、内存管理等多个方面。
其中,数学函数库包括了常见的数学运算函数,如求幂、开方、三角函数等;字符串函数库包括了字符串的处理函数,如字符串拷贝、比较、查找等;输入输出函数库包括了文件操作函数、标准输入输出函数等;内存管理函数库包括了动态内存分配函数、内存拷贝函数等。
在C语言标准函数库中,有一些函数是非常常用的,例如printf()、scanf()、malloc()、free()等。
其中,printf()函数用于将格式化的数据输出到标准输出设备,而scanf()函数用于从标准输入设备中读取格式化的数据。
malloc()函数用于动态分配内存空间,而free()函数用于释放之前动态分配的内存空间。
除了以上提到的函数外,C语言标准函数库还包括了大量其他的函数,如数学函数库中的sin()、cos()、tan()等三角函数,字符串函数库中的strcpy()、strcmp()、strlen()等字符串处理函数,输入输出函数库中的fopen()、fclose()、fread()、fwrite()等文件操作函数,以及内存管理函数库中的memcpy()、memset()等内存操作函数。
在使用C语言标准函数库时,我们需要包含相应的头文件,并链接相应的库文件。
例如,如果我们需要使用数学函数库中的sin()函数,就需要在程序中包含<math.h>头文件,并在编译链接时加上"-lm"选项。
同样,如果我们需要使用文件操作函数库中的fopen()函数,就需要包含<stdio.h>头文件,并在编译链接时不需要额外的选项。
单片机C语言(C51)常用库函数
单片机C语言(C51)常用库函数单片机C语言(C51)常用库函数在单片机编程中,使用库函数可以大大提高开发效率和简化代码结构。
C51是一种常用的单片机编程语言,它提供了许多常用的库函数,本文将介绍一些常用的C51库函数及其用法。
1. 字符串处理函数字符串处理是单片机编程中常见的任务。
C51提供了一些常用的字符串处理函数,如strcpy、strcat、strcmp等。
这些函数可以简化对字符串的操作。
- strcpy:用于将一个字符串复制到另一个字符串中。
用法示例:```char str1[20];char str2[20] = "Hello, world!";strcpy(str1, str2);```- strcat:用于将一个字符串追加到另一个字符串的末尾。
用法示例:```char str1[20] = "Hello,";char str2[20] = " world!";strcat(str1, str2);```- strcmp:用于比较两个字符串是否相等。
用法示例:```char str1[20] = "Hello";char str2[20] = "World";if (strcmp(str1, str2) == 0) {// 字符串相等的处理逻辑} else {// 字符串不相等的处理逻辑}```2. 数学函数单片机编程中常常需要进行数学运算,C51提供了一些常用的数学函数,如abs、sqrt、sin等。
这些函数可以帮助实现各种数学计算。
- abs:用于计算一个整数的绝对值。
用法示例:```int num = -10;int abs_num = abs(num);```- sqrt:用于计算一个浮点数的平方根。
用法示例:```float x = 16.0;float sqrt_x = sqrt(x);```- sin:用于计算一个角度的正弦值。
C语言常用库函数
检查ch是否控制字符(其ASCII码在0和0x1F之间)
是,返回1;不是,则返回0
ctype.h
isdigit
Int isdigit (int ch);
检查ch是否为数字(0~9)
是,返回1;不是,则返回0
ctype.h
isgraph
Int isgraph (int ch);
非ANSI标准
Printf
Int printf(char *format,args,...)
按format指向的格式字符串所规定的格式,将输出表列args的值输出到标准输出设备
输出字符的个数,若出错,返回负数
Format可以是一个字符串,或字符数组的起始地址
Putc
Int putc(char ch,FILE *fp)
检查ch是否可打印字符(其ASCII码在0x21和0x7E之间),不包括空格
是,返回1;不是,则返回0
ctype.h
islower
Int islower (int ch);
检查ch是否小写字母(a~z)
是,返回1;不是,则返回0
ctype.h
isprint
Intisprint (int ch);
检查ch是否可打印字符,(包括空格),其ASCII码在0x20和0x7E之间,
把fp指示的文件中的位置指针置于文件开头位置,兵清除文件结束标志和错误标志
无
Scanf
Int scanf(char *format,args,...)
从标准输入设备按format指向的格式字符串所规定的格式,输入数据给args所指向的单元
读入并赋给args的数据个数,遇文件结束返回EOF,出错返回0
嵌入式-C语言之库函数详解
NAME chmod - change file mode bits
SYNOPSIS chmod [OPTION]... MODE[,MODE]... FILE... chmod [OPTION]... OCTAL-MODE FILE... chmod [OPTION]... --reference=RFILE FILE...
(2)动态链接库(共享库) 动态链接库比静态链接库出现的晚一些,其效率更高。现在我们一般都是使
用动态库。静态库在被链接形成可执行程序时,就已经把调用的库中的代码复制 进了可执行程序中,这种方式的问题是,太占空间。尤其是有多个应用程序都使 用了这个库函数时,导致在多个应用程序生成的可执行程序中,都各自复制了一 份该库函数的代码。当这些应用程序同时在内存中运行时,实际上在内存中同时 存在多个该库函数的副本,这样很浪费内存。
1.2、函数库的由来 最开始时没有函数库,每个人写程序都要从零开始自己写。时间长了早期的
程序员就积累了很多有用函数。早期的程序员经常参加行业聚会,在聚会上大家 互相交换各自的函数库,后来程序员中的一些大神就提出把各自的函数收拢在一 起,然后经过校准和整理,最后形成了一份标准化的函数库,就是现在的标准的 函数库,譬如说 glibc。
C语言标准库函数大全
double cabs(struct complex znum) 返回复数 znum 的绝对值
double fabs(double x) 返回双精度参数 x 的绝对值
long labs(long n) 返回长整型参数 n 的绝对值
double exp(double x) 返回指数函数 ex 的值
int isupper(int ch) 若 ch 是大写字母 ('A'-'Z') 返回非 0 值 , 否则返回 0
int isxdigit(int ch) 若 ch 是 16 进制数 ('0'-'9','A'-'F','a'-'f') 返回非 0 值 , 否则 返回 0
int tolower(int ch) 若 ch 是大写字母 ('A'-'Z') 返回相应的小写字母 ('a'-'z')
char *itoa(int value,char *string,int radix)将整数 value 转换成字符串存入 string,radix 为转换时所用基数
double atof(char *nptr) 将字符串 nptr 转换成双精度数 , 并返回这个数 , 错误 返回 0
int atoi(char *nptr) 将字符串 nptr 转换成整型数 , 并返回这个数 , 错误返回 0
c语言标准库函数
c语言标准库函数C语言标准库函数。
C语言是一种广泛使用的计算机编程语言,它提供了丰富的标准库函数来帮助程序员完成各种任务。
标准库函数是由C语言的设计者定义并提供的,它们可以在不同的编译器和操作系统上运行,为程序员提供了一致的接口和功能。
C语言标准库函数可以分为几个不同的类别,包括输入输出、字符串处理、数学计算、内存管理等。
每个类别都包含了多个函数,下面我们将对其中一些常用的标准库函数进行介绍。
首先是输入输出类的标准库函数,其中最常用的是printf和scanf函数。
printf函数用于向控制台输出格式化的文本,而scanf函数则用于从控制台输入格式化的数据。
这两个函数可以帮助程序员与用户进行交互,实现输入输出的功能。
其次是字符串处理类的标准库函数,其中包括了strlen、strcpy、strcat等函数。
这些函数可以帮助程序员对字符串进行各种操作,比如计算字符串的长度、复制字符串、连接字符串等。
另外,C语言标准库还提供了丰富的数学计算函数,比如sin、cos、sqrt等函数。
这些函数可以帮助程序员进行各种数学运算,比如三角函数计算、平方根计算等。
此外,C语言标准库还包含了内存管理类的函数,比如malloc、free、realloc等函数。
这些函数可以帮助程序员动态地分配和释放内存,实现灵活的内存管理。
除了上述类别的标准库函数之外,C语言标准库还包含了许多其他有用的函数,比如日期和时间处理函数、文件操作函数等。
这些函数可以帮助程序员处理各种不同的任务,使得程序编写更加高效和方便。
总的来说,C语言标准库函数是C语言编程中不可或缺的一部分,它们提供了丰富的功能和接口,帮助程序员完成各种任务。
熟练掌握这些标准库函数,可以使程序编写更加高效、简洁和可靠。
希望本文对读者能有所帮助,谢谢阅读!。
C语言标准库函数大全.pdf
C语言标准库函数大全.pdf1、ArthersBlog博客园社区首页新随笔联系管理订阅随笔-208文章-0评论-14TurboC2.0函数中文说明大全分类函数,所在函数库为ctype.hintisalpha(intch)若ch是字母(A-Z,a-z)返回非0值,否则返回0intisalnum(intch)若ch是字母(A-Z,a-z)或数字(0-9),返回2、非0值,否则返回0intisascii(intch)若ch是字符(ASCII码中的0-127)返回非0值,否则返回0intiscntrl(intch)若ch是作废字符(0x7F)或一般掌握字符(0x00-0x1F),返回非0值,否则返回0intisdigit(intch)若ch是数字(0-9)返回非0值,否则返回0intisgraph(intch)若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0intislower(intch)若ch是小写字母(a-z3、)返回非0值,否则返回0intisprint(intch)若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0intispunct(intch)若ch是标点字符(0x00-0x1F)返回非0值,否则返回0intisspace(intch)若ch是空格(),水平制表符(t),回车符(r),走纸换行(f),垂直制表符(v),换行符(n),返回非0值,否则返回0intisupper(intch)若ch是大写4、字母(A-Z)返回非0值,否则返回0intisxdigit(intch)若ch 是16进制数(0-9,A-F,a-f)返回非0值,否则返回0inttolower(intch)若ch是大写字母(A-Z)返回相应的小写字母(a-z)inttoupper(intch)若ch是小写字母(5、a-z)返回相应的大写字母(A-Z)数学函数,所在函数库为math.h、stdlib.h、string.h、float.hintabs(inti)返回整型参数i的肯定值doublecabs(structcomplexznum)返回复数znum的肯定值doublefabs(doublex)返回双精度参数x的肯定值longlabs(longn)返回长整型参数n的肯定值doubleexp(doublex)返回指数函数ex的值doublefrexp(doublevalue,int*eptr)返回v6、alue=x*2n中x的值,n存贮在eptr中doubleldexp(doublevalue,intexp);返回value*2exp的值doublelog(doublex)返回logex的值doublelog10(doublex)返回log10x的值doublepow(doublex,doubley)返回xy的值doublepow10(intp)返回10p的值doublesqrt(doublex)返回x的开方doubleacos(doublex)返回x的反余弦cos-1(x)值,x为弧度c语言库函数大全--资料收集预备是胜利的首要前提与我联系发短消息搜寻常用链接我的随笔7、我的空间我的短信我的评论更多链接留言簿给我留言查看留言随笔分类(174).Net(rss)Algorithm(15)(rss)Basic(10)(rss)CC++(33)(rss) DBase(2)(rss)Essay(112)(rss)Java(2)(rss)随笔档案(208)2021年8月(1)2021年5月(5)2021年4月(4)2021年3月(1)2021年1月(21)2021年12月(48)2021年11月(121)2021年10月(7)找找看Page1of222021-4-3file://F:DOCUME~1lichaoLOCALS~1Tem8、pKABU69VF.htm。
C语言标准库函数大全
Page 1 of 22
博客园 社区 首页 新随笔 联系 管理 订阅
随笔- 208 文章- 0 评论14
c语言库函数大全--资料收集
Turbo C 2.0 函数中文说明大全
分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值, 否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返 回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值, 否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否 则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换 行('\f'),垂直制表符('\v'),换行符('\n'), 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则 返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FILE *fopen(char *filename,char *type) 打开一个文件filename,打开方式为type,并返回这个文件指针,type可为以下字符串加上后缀┌──┬────┬───────┬────────┐│type│读写性│文本/2进制文件│建新/打开旧文件│├──┼────┼───────┼────────┤│r │读│文本│打开旧的文件││w │写│文本│建新文件││a │添加│文本│有就打开无则建新││r+ │读/写│不限制│打开││w+ │读/写│不限制│建新文件││a+ │读/添加│不限制│有就打开无则建新│└──┴────┴───────┴────────┘可加的后缀为t、b。
加b表示文件以二进制形式进行操作,t没必要使用例: ┌──────────────────┐│#include<stdio.h> ││main() ││{ ││ FILE *fp; ││ fp=fopen("C:\\WPS\\WPS.EXE","r+b");│└──────────────────┘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) 向流stream写入一个字符chint getw(FILE *stream) 从流stream读入一个整数,错误返回EOFint putw(int w,FILE *stream) 向流stream写入一个整数int ungetc(char c,FILE *stream) 把字符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个字符存入string中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)向流stream中写入nitems个长度为size的字符串,字符串在ptr中int fscanf(FIL E *stream,char *format[,argument,…])以格式化形式从流stream中读入一个字符串int vfscanf(FILE *stream,char *format,Valist param)以格式化形式从流stream中读入一个字符串,参数从Valist param中取得int fprintf(FILE *stream,char *format[,argument,…])以格式化形式将一个字符串写给指定的流streamint vfprintf(FILE *stream,char *format,Valist param)以格式化形式将一个字符串写给指定的流stream,参数从Valist param中取得int fseek(FILE *stream,long offset,int fromwhere)函数把文件指针移到fromwhere所指位置的向后offset个字节处,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) 取流stream上的文件处理,并返回文件处理int ferror(FILE *stream) 检测流stream上是否有读写错误,如有错误就返回1void clearerr(FILE *stream) 清除流stream上的读写错误void setbuf(FILE *stream,char *buf) 给流stream指定一个缓冲区bufvoid setvbuf(FILE *stream,char *buf,int type,unsigned size)给流stream指定一个缓冲区buf,大小为size,类型为type,type的值见下表┌───┬───────────────────────────────┐│type值│意义│├───┼───────────────────────────────┤│_IOFBF│文件是完全缓冲区,当缓冲区是空时,下一个输入操作将企图填满整个缓││ │冲区.在输出时,在把任何数据写到文件之前,将完全填充缓冲区. ││_IOLBF│文件是行缓冲区.当缓冲区为空时,下一个输入操作将仍然企图填整个缓││ │冲区.然而在输出时,每当新行符写到文件,缓冲区就被清洗掉. ││_IONBF│文件是无缓冲的.buf和size参数是被忽略的.每个输入操作将直接从文││ │件读,每个输出操作将立即把数据写到文件中. │└───┴───────────────────────────────┘int fclose(FILE *stream) 关闭一个流,可以是文件或设备(例如LPT1)int fcloseall() 关闭所有除stdin或stdout外的流int fflush(FILE *stream)关闭一个流,并对缓冲区作处理处理即对读的流,将流内内容读入缓冲区;对写的流,将缓冲区内内容写入流。
成功返回0int fflushall()关闭所有流,并对流各自的缓冲区作处理处理即对读的流,将流内内容读入缓冲区;对写的流,将缓冲区内内容写入流。
成功返回0int access(char *filename,int amode)本函数检查文件filename并返回文件的属性, 函数将属性存于amode中,amode由以下位的组合构成06可以读、写 04可以读 02可以写 01执行(忽略的) 00文件存在如果filename是一个目录,函数将只确定目录是否存在函数执行成功返回0,否则返回-1int chmod(char *filename,int permiss) 本函数用于设定文件filename的属性permiss可以为以下值S_IWRITE允许写 S_IREAD允许读 S_IREAD|S_IWRITE允许读、写int _chmod(char *filename,int func[,int attrib]);本函数用于读取或设定文件filename的属性,当func=0时,函数返回文件的属性;当func=1时,函数设定文件的属性若为设定文件属性,attrib可以为下列常数之一FA_RDONLY只读 FA_HIDDEN隐藏 FA_SYSTEM系统接口子程序,所在函数库为: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是由fcbptr所指定的.option参数是DOS分析系统调用时,AL文本的值.int absread(int drive,int nsects,int sectno,void *buffer)本函数功能为读特定的磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要读的扇区数,sectno为开始的逻辑扇区号,buffer为保存所读数据的保存空间int abswrite(int drive,int nsects,int sectno,void *buffer)本函数功能为写特定的磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要写的扇区数,sectno为开始的逻辑扇区号,buffer为保存所写数据的所在空间void getdfree(int drive,struct dfree *dfreep)本函数用来取磁盘的自由空间,drive为磁盘号(0=当前,1=A等).函数将磁盘特性的由dfreep指向的dfree结构中. 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写入指定的输出端口portvoid outportb(int port,char byte) 将字节byte写入指定的输出端口portint 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)函数把段寄存器的当前值放进结构segtbl中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; /*错误场所*/ ││} │└──────────────┘int bioscom(int cmd,char type,int port) 本函数负责对数据的通讯工作,cmd可以为以下值:0 置通讯参数为字节byte值 1 发送字符通过通讯线输出2 从通讯线接受字符3 返回通讯的当前状态port为通讯端口,port=0时通讯端口为COM1,port=1时通讯端口为COM2,以此类推byte为传送或接收数据时的参数,为以下位的组合:┌───┬─────┬───┬─────┬───┬─────┐│byte值│意义│byte值│意义│byte值│意义│├───┼─────┼───┼─────┼───┼─────┤│0x02 │7数据位│0x03 │8数据位│0x00 │1停止位││0x04 │2停止位│0x00 │无奇偶性│0x08 │奇数奇偶性││0x18 │偶数奇偶性│0x00 │110波特│0x20 │150波特││0x40 │300波特│0x60 │600波特│0x80 │1200波特││0xA0 │2400波特│0xC0 │4800波特│0xE0 │9600波特│└───┴─────┴───┴─────┴───┴─────┘例如:0xE0|0x08|0x00|0x03即表示置通讯口为9600波特,奇数奇偶性,1停止位,8数据位. 函数返回值为一个16位整数,定义如下:第15位超时第14位传送移位寄存器空第13位传送固定寄存器空第12位中断检测第11位帧错误第10位奇偶错误第 9位过载运行错误第 8位数据就绪第 7位接收线信号检测第 6位环形指示器第 5位数据设置就绪第 4位清除发送第 3位δ接收线信号检测器第 2位下降边环形检测器第 1位δ数据设置就绪第 0位δ清除发送int biosdisk(int cmd,int drive,int head,int track, int sector,int nsects,void *buffer) 本函数用来对驱动器作一定的操作,cmd为功能号, drive为驱动器号(0=A,1=B,0x80=C,0x81=D,0x82=E等).cmd可为以下值:0 重置软磁盘系统.这强迫驱动器控制器来执行硬复位.忽略所有其它参数.1 返回最后的硬盘操作状态.忽略所有其它参数2 读一个或多个磁盘扇区到内存.读开始的扇区由head、track、sector给出。