当前位置:文档之家› c标准库函数大全

c标准库函数大全

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.h

abswrite()写磁盘绝对扇区函数

原形: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.h

atof()将字符串转换成浮点数的函数

原形:double atof(const char *s)

功能:把s所指向的字符串转换成double类型。

s格式为:符号数字.数字E符号数字

返回值:字符串的转换值。

头文件:math.h、stdlib.h

atoi()将字符串转换成整型数的函数

原形:int atoi(const char *s)

功能:把s所指向的字符串转换成int类型。

s格式为:符号数字

返回值:字符串的转换值。若出错则返回0。

头文件:stdlib.h

atol()将字符串转换成长整型数的函数

原形:long atol(const char *s)

功能:把s所指向的字符串转换成long int类型。

s格式为:符号数字

返回值:字符串的转换值。若出错则返回0。

头文件:stdlib.h

bcd()把一个数转换成对应的BCD码的函数

原形:bcd bcd(int x)

bcd bcd(double x)

bcd bcd(double x,int decimals)

注意:BCD码的精度可达17位。参数decimals是可选的,用来指定转换后小数点后的位数。头文件:bcd.h

bdos()

原形∶int bdos(int fnum,unsigned dx,unsigned al)

其中fnum是系统调用号;dx是传给寄存器DX的值;al是传给寄存器AL的值;

功能∶DOS系统调用(INT21H)

返回值∶AX中的值

biosdisk()调用BIOS磁盘驱动程序函数

原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)

功能:使用中断0x13,直接调用BIOS进行磁盘操作

参数:(1)cmd:

2-数据以每扇区512字节的格式读入buffer,起始扇区由head、track和sector定,扇区数由nsects定。

3-将buffer中的数据按每扇区512字节写入磁盘。

4-对扇区进行数据校验。

6-格式化一个磁盘并对化扇区设置化标志。

8-返回当前驱动器参数在buffer的前4个字节中。

10-长读,每扇区读入512字节加上额外的4个字节。

11-长写,每扇区写入512字节加上额外的4个字节。

(2)drive:0-第一个软驱;1-第二个软驱;0x80-第一个硬驱

(3)head:磁头

(4)track:磁道

(5)sector:扇区

(6)nsects:扇区数

(7)buffer:数据缓冲区,定义为unsigned char buffer[];

返回值:0x00-操作成功

0x01-错误命令

0x03-企图写具有写保护的磁盘

0x07-驱动器参数设置错误[Page]

0x10-磁盘读/CRC/ECC错误

头文件:bios.h

注:对于硬盘主引导记录扇区head=0,track=0,sector=1

biosprint()调用BIOS打印机I/O接口的函数

原形:int biosprint(int cmd,int abyte,int port)

功能:通过BIOS中断0x17在由参数port指定的打印机上完成各种打印机功能。

port=0(LPT1)

=1(LPT2);

cmd=0(打印字符abyte)

1(初始化打印机端口)

2(读打印机状态);

abyte=0-255;

返回值:打印机状态

位0(设备超时);位3(I/O出错);位4(打印机已选择);位5(没纸);位6(打印机确认);位7(不忙) 头文件:bios.h

calloc()分配内存函数

原形:void *calloc(size_t nitems,size_t size)

功能:在堆中分配一块内存,将该内存的内容全部清0。

返回值:返回指向新分配内存的指针。空间不够则返回NULL。

头文件:stdlib.h、calloc.h

ceil()

原形∶double ceil(double num)

功能∶求不小于num的最小双精度整数

头文件∶math.h

cgets()读字符串函数

原形:char *cgets(char *str)

功能:从控制台读入一个字符串,并将该字符串(和字符串长度)存入有str所指向的地址中。

注意:在调用cgets之前,必须将要读入的字符串最大长度存入str[0]中,返回时str[1]被设置为实际读入的字符数。实际字符串内容从str[2]开始,以空字符(\\0)结尾。

返回值:指向str[2]的指针。

头文件:conio.h

chdir()改变当前目录的函数

原形:int chdir(const char *path)

功能:把由path指定的目录改为当前目录。path参数中可以指定驱动器号,如“a:\\\\ddd”, 但只是改变该驱动器上的当前目录,对当前活动驱动器上的当前目录无影响。

返回值:0(成功);-1(失败)

头文件:dir.h

_chmod()改变文件存取权限的函数

原形:int _chmod(const char *path,int func[,int attrib])

功能:读取(func=0时)或设置(func=1时)DOS文件属性。

attrib=FA_RDONLY 只读

attrib=FA_HIDDEN 隐藏文件

attrib=FA_SYSTEM 系统文件

attrib=FA_LABLE 卷标

attrib=FA_DIREC 目录

attrib=FA_ARCH 档案

返回值:失败时返回-1。成功时返回文件的属性字节,如果返回值&FA_RDONLY 不等于0,则文件是只读文件;......

头文件:io.h、dos.h

chmod()改变文件存取权限的函数

原形:int chmod(const char *path,int amode)

功能:根据amode的值,设置由path所指文件的存取权限。

amode的值存取权限

S_IWRITE 允许写

S_IREAD允许读(只读)

S_IREAD|S_IWRITE 可读可写

返回值:0(成功);-1(失败)

头文件:io.h、sys\\stat.h

fcloseall()关闭打开的流的函数

原形:int fcloseall(void)

功能:关闭所有打开的流,由stdin、stdout、stdprn、stderr和stdaux设置的流除外。

返回值:关闭流的总数。如果发现错误则返回EOF。

头文件:stdio.h

feof()检查文件是否结束的函数

原形∶int feof(FILE *fp)

返回值∶文件结束返回非0值,否则返回0。

头文件∶stdio.h

fgets()从流中读取一字符串的函数

原形:char *fgets(char s[],int n,FILE *stream)

使用格式:fgets(字符串指针,字符个数,文件指针)

功能:从输入流stream中读入字符存到s串中。当读了n-1个字符或遇到换行符时,函数停止读过程。fgets在s串尾保留换行字符。读入的最后一个字符后面加一个空字符。

返回值:成功时返回字符串参数s,出错或遇到文件结束时,返回NULL。

头文件:stdio.h

findfirst()函数和findnext()函数

调用方式:整形数=findfirst(文件名,&结构变量名,属性常数组合(如0x26));其中定义struct ffblk 结构变量名;

原形:int findfirst(path,buffer,attr)和int findnext(buffer)

char *path;//要检索的文件名

struct ffblk

{

char ff_reserved[21];

char ff_attrib;//被检索的文件属性

unsigned ff_ftime;//最后修改的时间

//(0-4位:秒数/2;5-10位:分数;11-15位:小时数)

unsigned ff_fdate;//最后修改的日期

//(0-4位:日;5-8位:月;9-15位:年减1980)

long ff_fsize;//文件大小

char ff_name[13];//组名

}*buffer;

int attr;//要检索的文件属性

功能:检索由path和attr指定的文件,把结果返回到buffer。findfirst返回关于第一个指定文件的信息,findnext继续检索。

返回值:0(检索成功),-1(没有找到指定的文件)

属性常数:

FA_NORMAL(0x00)含意:Normal file, no attributes

FA_RDONLY(0x01)含意:只读

FA_HIDDEN(0x02)含意:隐含文件

FA_SYSTEM(0x04)含意:系统文件

FA_LABEL(0x08)含意:卷标

FA_DIREC(0x10)含意:子目录

FA_ARCH(0x20)含意:修改的文件Archive

头文件:dir.h(dos.h)

floodfill()填充区域的函数

原形:void far floodfill(int x,int y,int border)

功能:在图形设备上用颜色border围起来的区域将用当前填充颜色填充。(x,y)是待填充区域的起点,若起点在封闭区域内,则区域内被填充;若起点在封闭区域外,则区域外被填充。头文件:graphics.h

floor()

原形∶double floor(double num)

功能∶求不大于num的最大双精度整数

头文件∶math.h

fnmerge()建立文件路径函数

原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)

功能:合成drive:\\dir\\name.ext,放在path

头文件:dir.h

fnsplit()分解完整的路径名函数

原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)

功能:把文件名路径path分成4个部分存放。

其中drive中有冒号;dir中有开始和结尾的反斜杠;ext包括开始圆点

返回值:如果有扩展名,则返回值&EXTENSION!=0[Page]

如果有文件名,则返回值&FILENAME!=0

如果有目录名,则返回值&DIRECTORY!=0

如果有驱动器号,则返回值&DIRVE!=0

头文件:dir.h

fopen()打开一个流函数

原形:FILE *fopen(const char *filename,const char *mode)

功能:打开用filename指定的文件,并使其与一个流相联。

使用方式:文件指针名=fopen(\"文件名\",\"处理方式\")

"处理方式"取:

\"rt\"打开一个文本文件,只能读。

\"wt\"生成一个文本文件,只能写。若文件存在则被重写。\"at\"打开一个文本文件,只能在文件尾部添加。

\"rb\"打开一个二进制文件,只能读。

\"wb\"生成一个二进制文件,只能写。

\"ab\"打开一个二进制文件,只能在文件尾部添加。\"rt \"打开一个文本文件,可读可写。

\"wt \"生成一个文本文件,可读可写。

\"at \"打开一个文本文件,可读可添加。

\"rb \"打开一个二进制文件,可读可写。

\"wb \"生成一个二进制文件,可读可写。

\"ab \"打开一个二进制文件,可读可添加。

返回值:指明流的指针(成功时)或NULL(失败时)

注:需先定义FILE *文件指针名;

\"文件名\"若用argv[1]代替,则可使用命令行形式指定文件名

FP_OFF()获取远地址偏移量的宏

原形:unsigned FP_OFF(void far *p)

功能:取得和设置远指针*p的偏移量

返回值:偏移量

头文件:dos.h

fprintf()传送输出到一个流中的函数

原形:int fprintf(FILE *stream,const char *format[,argument,...]) 功能:①向文件指针指向的文件输出ASCⅡ代码

②向显示器输出错误信息

使用形式:

①fprintf(文件指针,\"输出格式\",输出项系列);

②fprintf(stderr,\"错误信息\");

使用实例:fprintf(stream,\"%d %c %f\",i,c,f);

其中定义FILE *stream;

int i;char c;float f;

返回值:成功则返回输出的字节数,错误则返回EOF。

头文件:stdio.h

getdfree()读取磁盘空闲空间的函数

原形:void getdfree(drive,dtable)

unsigned char drive;驱动器号(0-当前;1-A;2-B;...)

struct dfree

{

unsigned df_avail;//可使用的簇数

unsigned df_total;//每个驱动器的簇数

unsigned df_bsec;//每个扇区的字节数

unsigned df_sclus;//每个簇的扇区数(出错时返回0xffff)

}*dtable;

功能:把由drive指定的关于驱动器的信息返回到dtable

getdisk()读取当前磁盘驱动器号函数

原形:int getdisk(void)

功能:取得当前驱动器号(0=A;1=B;....)

头文件:dir.h

getenv()读取环境变量的当前值的函数

原形:char *getenv(const char *name)

用法:s=getenv(\"环境变量名\");

需先定义char *s;

功能:返回一给定的环境变量值,环境变量名可大写或小写。如果指定的变量在环境中未定义,则返回一空串。

头文件:stdlib.h

getimage()将指定区域的位图象存入内存的函数

原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)

功能:将图像(矩形区域)从屏幕拷贝到内存,*bitmap指向内存中存放图像的区域。该区域的前两个字节用于存放矩形的高和宽。

头文件:graphics.h

getmaxx()返回屏幕上最大的X坐标值的函数

原形:int far getmaxx(void)

功能:返回当前图形驱动程序和图形模式下最大的X坐标值。

头文件:graphics.h

getmaxy()返回屏幕上最大的Y坐标值的函数

原形:int far getmaxy(void)

功能:返回当前图形驱动程序和图形模式下最大的Y坐标值。

头文件:graphics.h

getpixel()读取像素颜色的函数

原形:unsigned far getpixel(int x,int y)

头文件:graphics.h

getpsp()

原形∶unsigned getpsp(void)

功能∶使用DOS系统调用0x62,返回程序段前缀(PSP)的段地址

头文件∶dos.h

gets()从标准输入流stdio中读取一字符串的函数

功能:将键盘上输入的字符串立刻赋予字符串变量并显示出来

调用方式:gets(字符串变量名)

注:需定义char *字符串变量名;

gettime()读取系统时间的函数

原形:void gettime(ptime)

struct time

{

unsigned char ti_min;

unsigned char ti_hour;

unsigned char ti_hund;//百分之一秒

unsigned char ti_sec;

};

struct time *ptime;

getvect()读取中断向量函数

原形:void interrupt(*getvect(int interruptno))

功能:读入由interruptno(0-255之间)所指定的中断向量值,并把该中断向量值作为中断函数的远指针返回。

返回值:指定中断向量的当前4字节值。

头文件:dos.h

使用实例:oldfunc=getvect(5);

先定义void interrupt(*oldfunc)();

用后恢复setvect(5,oldfunc);

getx()返回当前图形方式下位置的X坐标值的函数

原形:int far getx(void);

头文件:graphics.h

gety()返回当前图形方式下位置的Y坐标值的函数

原形:int far gety(void);

头文件:graphics.h

imagesize()返回保存图像缓冲区大小的函数

原形:unsigned far imagesize(int left,int top,int right,int bottom)

功能:确定保存图像所需的存储区大小。[Page]

返回值:返回存储区的大小(字节),若所需内存大于等于64K-1字节,则返回0xffff(-1)。

头文件:graphics.h

initgraph()显示模式控制函数(初始化图形系统函数)

功能:把图形适配器设置为一种图形模式,将选择的图形驱动程序(在BGI文件中)装入到内存。

调用方式:

void far initgraph(int far *driver,int far *mode,char far*path)

其中: *driver可以是数值(0-10),也可是符号值(DETECT、CGA、MCGA、EGA、EGA64、EGAMONO、RESERVED、HERCMONO、ATT400、VGA、PC3270)。

*mode参数从图形系统为各种常用的图形适配器设置的图形模式中(CGAC0、…、IBM8514HI--见头文件graphics.h)选取。常用的有:VGAMED或1(640×350)(等效于BIOS的模式15)、EGAHI或1(640×350)等。

path指向的字符串为装入驱动程序的路径。如果缺省路径,驱动程序在当前目录。

结束方法:

①void far closegraph()函数用于当程序还要继续在字符模下运行时。它释放由图形函数所占用的内存,同时把屏幕模式恢复为调用initgraph()之前的模式。

②void far restorecrtmode()函数用于结束运行。将图形适配器设置到原来的模式。任何分配的内存都将自动释放。

头文件:graphics.h

inport()从端口中读入一个字的函数

原形:int inport(int portid)

调用方式:整型变量=inport(0x端口号);

功能:从指定端口地址读一个字。

头文件:dos.h

inportb()从端口读入一个字节的函数

原形:unsigned char inportb(int portid)

调用方式:字符变量=inportb(0x端口号);

功能:从指定端口地址读一个字节。

头文件:dos.h

int86()执行中断函数(调用8086软中断函数)

原形:int int86(int intno,union REGS *inregs,union REGS *outregs)

调用方式:int86(中断号,&输入指针名,&输出指针名)

返回值:中断处理结束时的AX寄存器的值,错误时outregs->x.cflag!=0

功能:函数int86() 用来执行指定的8086软中断。首先把输入指针所指的共用体中的内容拷贝到CPU 的寄存器中,随即产生对应的中断,返回后将CPU寄存器(AX)的内容拷贝到输出指针指向的共用体中。在使用int86() 函数进行BIOS接口的系统调用时,有的中断调用设有若干选择项,这些选择项可以根据调用时AH寄存器中的值来进行访问。

注:1.需先定义union REGS 输入指针名,输出指针名;

2.向寄存器传递入口信息

输入指针名.x.寄存器名=要赋的值(入口信息);

3.调用int86后得接受出口信息

变量名=输出指针名.x.寄存器名

4.REGS的定义(在dos.h中):

struct WORDREGS{unsigned int ax, bx, cx, dx, si, di, cflag, flags;}

struct BYTEREGS{unsigned char al, ah, bl, bh, cl, ch, dl, dh;}

union REGS{struct WORDREGS x;struct BYTEREGS h;}

头文件:dos.h

MK_FP()设置一个远指针的宏

原形:void far *MK_FP(unsigned seg,unsigned ofs)

功能:通过段值(seg)和偏移量(ofs)建立一个远指针

返回值:远指针

头文件:dos.h

movedata()拷贝数据函数

原形:void movedata(unsigned srcseg,unsigned srcoff,unsigned dstseg,unsigned dstoff,size_t n) 功能:从原地址(srcseg:srcoff)拷贝n个字节的数据到目标地址(dstseg:dstoff)。

头文件:mem.h、string.h

_open()打开一个文件进行读写的函数

原形:int _open(path,oflags)

char *path;//已建立文件的路径名

int oflags;//方式

功能:打开由path指定的文件,返回文件的句柄

返回值:0(正常结束);-1(错误)

头文件:fcntl.h、io.h

open()打开文件进行读写的函数

原形:int open(const char *path,int access[,unsigned mode])

使用方法:文件句柄=open(\"文件名\",打开模式|打开模式);

功能:打开path指定的文件,根据access指定的模式值读写。

access模式:

O_RDONLY以只读方式打开

O_WRONLY以只写方式打开

O_RDOWR以读写方式打开

以上标志只能使用一个,以下可以用|组合使用

O_NDELAY

O_APPEND若置位,每次写操作前都使文件指针指到文件末尾

O_CREAT若文件不存在则创建

O_TRUNC若文件已存在,则将文件长度截为0

O_EXCL只和O_CREAT一起使用,若文件已经存在,返回错误代码

O_BINARY以二进制方式打开

O_TEXT以文本方式打开

如果使用了O_CREAT方式,则需要提供参数mode

(S_IWRITE可写;S_IREAD可读;S_IREAD|S_IWRITE可读写)

返回值:文件句柄(成功时);-1(失败时)。

成功时,文件指针指向文件头。

头文件:fcntl.h、io.h

outport()输出一个字到端口中的函数

原形:void outport(int portid,int value)

调用方式:outport(0x端口号,要输出的字);

功能:往指定端口地址输出一个字。

头文件:dos.h

outportb()输出一个字节到端口中的函数

原形:void outportb(int portid,unsigned char value)

调用方式:outportb(0x端口号,要输出的字节);

功能:往指定端口地址输出一个字节。

附:PC I/O地址分配

PC只用了10位地址线(A0-A9)进行译码,其寻址的范围为0H-3FFH,共有1024个I/O地址。这1024个地址中前半段(A9=0,范围为0H-1FFH)是属于主机板I/O译码,后半段(A9=1,范围为200H-3FFH)则是用来扩展插槽上的I/O译码用。

I/O端口功能表

———————————————————————————

I/O地址功能、用途

———————————————————————————

0DMA通道0,内存地址寄存器(DMA控制器1(8237))

1DMA通道0, 传输计数寄存器

2DMA通道1,内存地址寄存器

3DMA通道1, 传输计数寄存器

4DMA通道2,内存地址寄存器

5DMA通道2, 传输计数寄存器

6DMA通道3,内存地址寄存器

7DMA通道3, 传输计数寄存器

8DMA通道0-3的状态寄存器

AH DMA通道0-3的屏蔽寄存器

BH DMA通道0-3的方式寄存器

CH DMA清除字节指针[Page]

DH DMA主清除字节

EH DMA通道0-3的清屏蔽寄存器

FH DMA通道0-3的写屏蔽寄存器

19H DMA起始寄存器

20H-3FH可编程中断控制器1(8259)使用

40H可编程中断计时器(8253)使用,读/写计数器0

41H可编程中断计时器寄存器

42H可编程中断计时器杂项寄存器

43H可编程中断计时器,控制字寄存器

44H可编程中断计时器,杂项寄存器(AT)

47H可编程中断计时器,计数器0的控制字寄存器

48H-5FH可编程中断计时器使用

60H-61H键盘输入数据缓冲区

61H AT:8042键盘控制寄存器/XT:8255输出寄存器

62H8255输入寄存器

63H8255命令方式寄存器

64H8042键盘输入缓冲区/8042状态

65H-6FH8255/8042专用

70H CMOS RAM地址寄存器

71H CMOS RAM数据寄存器

80H生产测试端口

81H DMA通道2,页表地址寄存器

82H DMA通道3,页表地址寄存器

83H DMA通道1,页表地址寄存器

87H DMA通道0,页表地址寄存器

89H DMA通道6,页表地址寄存器

8AH DMA通道7,页表地址寄存器

8BH DMA通道5,页表地址寄存器

8FH DMA通道4,页表地址寄存器

93H-9FH DMA控制器专用

A0H NM1屏蔽寄存器/可编程中断控制器2

A1H可编程中断控制器2屏蔽

C0H DMA通道0,内存地址寄存器(DMA控制器2(8237))C2H DMA通道0, 传输计数寄存器

C4H DMA通道1,内存地址寄存器

C6H DMA通道1, 传输计数寄存器

C8H DMA通道2,内存地址寄存器

CAH DMA通道2, 传输计数寄存器

CCH DMA通道3,内存地址寄存器

CEH DMA通道3, 传输计数寄存器

D0H DMA状态寄存器

D2H DMA写请求寄存器

D4H DMA屏蔽寄存器

D6H DMA方式寄存器

D8H DMA清除字节指针

DAH DMA主清

DCH DMA清屏蔽寄存器

DEH DMA写屏蔽寄存器

DFH-EFH保留

F0H-FFH协处理器使用

100H-16FH保留

170H1号硬盘数据寄存器

171H1号硬盘错误寄存器

172H1号硬盘数据扇区计数

173H1号硬盘扇区数

174H1号硬盘柱面(低字节)

175H1号硬盘柱面(高字节)

176H1号硬盘驱动器/磁头寄存器

177H1号硬盘状态寄存器

1F0H0号硬盘数据寄存器

1F1H0号硬盘错误寄存器

1F2H0号硬盘数据扇区计数

1F3H0号硬盘扇区数

1F4H0号硬盘柱面(低字节)

1F5H0号硬盘柱面(高字节)

1F6H0号硬盘驱动器/磁头寄存器

1F7H0号硬盘状态寄存器

1F9H-1FFH保留

200H-20FH游戏控制端口

210H-21FH扩展单元

278H3号并行口,数据端口

279H3号并行口,状态端口

27AH3号并行口,控制端口

2B0H-2DFH保留

2E0H EGA/VGA使用

2E1H GPIP(0号适配器)

2E2H数据获取(0号适配器)

2E3H数据获取(1号适配器)

2E4H-2F7H保留

2F8H2号串行口,发送/保持寄存器(RS232接口卡2) 2F9H2号串行口,中断有效寄存器

2FAH2号串行口,中断ID寄存器

2FBH2号串行口,线控制寄存器

2FCH2号串行口,调制解调控制寄存器

2FDH2号串行口,线状态寄存器

2FEH2号串行口,调制解调状态寄存器

2FFH保留[Page]

300H-31FH原形卡

320H硬盘适配器寄存器

322H硬盘适配器控制/状态寄存器

324H硬盘适配器提示/中断状态寄存器

325H-347H保留

348H-357H DCA3278

366H-36FH PC网络

372H软盘适配器数据输出/状态寄存器

375H-376H软盘适配器数据寄存器

377H软盘适配器数据输入寄存器

378H2号并行口,数据端口

379H2号并行口,状态端口

37AH2号并行口,控制端口

380H-38FH SDLC及BSC通讯

390H-393H Cluster适配器0

3A0H-3AFH BSC通讯

3B0H-3B H MDA视频寄存器

3BCH1号并行口,数据端口

3BDH1号并行口,状态端口

3BEH1号并行口,控制端口

3C0H-3CFH EGA/VGA视频寄存器

3D0H-3D7H CGA视频寄存器

3F0H-3F7H软盘控制器寄存器

3F8H1号串行口,发送/保持寄存器(RS232接口卡1)

3F9H1号串行口,中断有效寄存器

3FAH1号串行口,中断ID寄存器

3FBH1号串行口,线控制寄存器

3FCH1号串行口,调制解调控制寄存器

3FDH1号串行口,线状态寄存器

3FEH1号串行口,调制解调状态寄存器

3FFH保留

—————————————————————————

rename()文件改名函数

原形:int rename(const char *oldname,const char *newname)

注意:如果newname中包含了一个驱动器指示符,它必须与oldname中给出的指示符相同。oldname和newname中的目录可以不同,因此rename函数把文件从一个目录移到另一个目录。不允许使用通配符。

返回值:0(成功);-1(失败)

restorecrtmode()恢复屏幕视频模式为调用initgraph前的设置的函数

原形:void far restorecrtmode(void)

头文件:graphics.h

rmdir()删除目录函数

原形:int rmdir(const char *path)

注意:删除的目录不能是当前目录,不是根目录,是空目录

返回值:0(成功);-1(操作出错)

头文件:dir.h

_rotl()将一个无符号整形数左循环移位的函数

原形:unsigned _rotl(unsigned value,int count)

功能:将value向左循环移动count位。

返回值:将value向左循环移动count位后的值。

头文件:stdlib.h

_rotr()将一个无符号整形数右循环移位的函数

原形:unsigned _rotr(unsigned value,int count)

功能:将value向右循环移动count位。

返回值:将value向右循环移动count位后的值。

头文件:stdlib.h

scanf()格式化输入函数

使用格式:scanf(\"输入格式\",输入项系列)

①scanf(\"%f\",&实型变量)

②scanf(\"%c\",&字符变量)

③scanf(\"%s\",字符串变量)

④scanf(\"%d\",&整型变量)

注:需先定义以上各种变量如char *字符串变量;

searchpath()按dos路径查找一个文件的函数

原形:char *searchpath(const char *file)

用法:p=searchpath(\"文件名\"); 先定义char *p;

功能:搜索dos路径(环境变量中的path=....)来定位由file给出的文件。

返回值:指向完整路径名字符串的指针。定位失败返回NULL。

头文件:dir.h

segread()读段寄存器函数

原形:void segread(struct SREGS *segp)

作用:把当前寄存器的值保存到SREGS型机构变量segp中。

segs.cs=代码段寄存器的值;

segs.ds=数据段寄存器的值;

segs.es=附加段寄存器的值;

segs.ss=堆栈段寄存器的值;

setactivepage()设置图形输出活动页的函数

原形:void far setactivepage(int page)

功能:使page成为当前活动的图形页,其后所有的图形输出操作都在page图形页进行。活动图形页可以不是在屏幕上看到的页。

头文件:graphics.h

setcolor()设置当前要画的线颜色的函数

原形:void far setcolor(int color)

头文件:graphics.h

注意:颜色值(EGA/VGA)

0-BLACK;1-BLUE;2-GREEN;

3-CYAN;4-RED;5-MAGENTA;

6-BROWN;7-LIGHTGRAY;8-DARKGRAY;

9-LIGHTBLUE;10-LIGHTGREEN;11-LIGHTCYAN;

12-LIGHTRED;13-LIGHTMAGENTA;

14-YELLOW;15-WHITE

setdisk()设置当前驱动器的函数

原形:int setdisk(int drive)

功能:把由drive指定的驱动器修改成当前驱动器,返回可使用的驱动器数。

头文件:dir.h

setgraphmode()将系统设置成图形模式并清屏的函数

原形:void far setgraphmode(int mode)

功能:选择一个不同于调用initgraph()函数时所设置的缺省的图形模式。

返回值:如果给了一个对当前驱动程序来说无效的模式,则返回-10。[Page]

头文件:graphics.h

setlinestyle()设置当前画线宽度和类型的函数

原形:

void far setlinestyle(int linestyle,unsigned upattern,int thickness)

其中:linestyle=0为实线;1为点线;2为中心线;3为破折线;4为用户定义。thickness=1为一个像素宽;3为三个像素宽。

只有当linestyle=4时,upattern才起作用。

头文件:graphics.h

settextstyle()显示字符的当前设置函数

功能:设置当前输出英文字符的字体、大小和方向。

调用方式:

void far settextstyle(int font,int direction,int charsize)

其中①参数font确定所选定的字体形状,

DEFAULT_FONT 或0 是8×8位图字体

TRIPLEX_FONT 或1 是三重矢量字体

SMALL_FONT 或2 是小号矢量字体

SANS_SERIF_FONT或3 是无衬线矢量字体

GOTHIC_FONT 或4 是哥特矢量字体

②参数durection字符的显示方向,

HORIZ_DIR 或0 是水平方向

VERT_DIR 或1 是垂直方向

③参数charsize表示字符放大的倍数,其值为0到10。

setvect()设置中断向量函数

setvect(int 中断号,void interrupt(*中断函数名))

功能:把中断服务程序的地址装入中断向量表中。

调用方法:setvect(中断号,中断函数名即地址);

(1)得预先定义要代替原函数的新函数

void interrupt 中断函数名(void)

{......}

(2)得先保留原中断函数地址

void interrupt (*保留函数名)(void);

保留函数名=getvect(中断号);

(3)事后得将原中断函数地址装回向量表中

setvect(中断号,保留函数名);

setviewport()建立视口的函数

原形:void far setviewport(int left,int top,int right,int bottom,int clip)

功能:用左上角坐标left,top和右下角坐标right,bottom建立一个视口,如果clip为1,则超出视口的输出自动被剪裁掉;如果clip为0,则不被剪裁。

例:setviewport(0,0,100,100,1)建立对角线为0,0和100,100的视口,并带有剪裁功能。注:要清除当前视口,用函数clearnviewport()。

setvisualpage()设置可见的图形页号的函数

原形:void far setvisualpage(int page)

功能:使得page成为可见的图形页。

头文件:graphics.h

sin()

原形∶double sin(double arg)

功能∶计算arg(弧度)的正弦值

头文件∶math.h

sprintf()格式化输出到数组的函数

原形∶int sprintf(buf,format,arg_list)

其中char *buf;

功能∶把arg_list参量的值按format的格式输出到buf中。

例∶sprintf(buffer,\"相对扇区号∶%s(其中∶柱面号为%d/磁头号为%d/扇区号为%d)\",string,cyls,head,sector);

其中char buffer[100];

char *string=\"\";

int cyls,head,sector;

返回值∶实际写入数组的字符个数。

头文件∶stdio.h

strcat()

原形∶char *strcat(str1,str2)

功能∶把str2所指的字符串连接到str1所指的字符串后。

返回值∶指向str1的指针。

tan()

原形∶double tan(double arg)

功能∶计算arg(弧度)的正切值

头文件∶math.h

_write()写文件函数

原形:int _write(handle,buffer,count)

int handle;//文件的句柄[Page]

void *buffer;//存放数据的缓冲区

unsigned count;//写入的字节数

功能:从由buffer指定的缓冲区写入由count指定字节数的数据到由handle指定的文件。返回实际写入的字节数。

返回值:0-0xfffe(实际写入的字节数);-1(错误)

头文件:io.h

write()写文件函数

原形:int write(int handle,char *buf,unsigned len)

用法:write(文件句柄,缓冲区地址,缓冲区字节长度<最大65534>);

功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup 或dup2调用中得到的文件句柄。对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中;

返回值:实际写入的字节数(不包括回车符),出错时返回-1。

头文件:io.h

CAPI函数大全

C++ API函数大全 PatBlt 在当前选定的刷子的基础上,用一个图案填充指定的设备场景 PlgBlt 复制一幅位图,同时将其转换成一个平行四边形。利用它可对位图进 行旋转处理 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称 WNetGetLastError 获取网络错误的扩展错误信息 WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数

BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口 GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间 PostMessage 将一条消息投递到指定窗口的消息队列 PostThreadMessage 将一条消息投递给应用程序 RegisterWindowMessage 获取分配给一个字串标识符的消息编号 ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口 SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台

C语言函数大全(m开头)

C语言函数大全(m开头) main()主函数 每一C 程序都必须有一 main() 函数, 可以根据自己的爱好把它放在程序的某 个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放 在哪个地方, 以下几点说明都是适合的。 1. main() 参数 在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。 * argc: 整数, 为传给main()的命令行参数个数。 * argv: 字符串数组。 在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0 以下的版本, argv[0]为空串("") 。 argv[1] 为在DOS命令行中执行程序名后的第一个字符串; argv[2] 为执行程序名后的第二个字符串; ... argv[argc]为NULL。 *env: 安符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符 串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:\DOS, C: \TURBOC(对于PATH) 或YES(对于87)。 Turbo C2.0启动时总是把这三个参数传递给main()函数, 可以在用户程序中 说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序 的局部变量。 请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下 的例子: main() main(int argc) main(int argc, char *argv[]) main(int argc, char *argv[], char *env[])

C语言标准库函数

标准库函数 本附录描述了标准C支持的库函数①。使用此附录时,请记住下列要点。 为了简洁清楚,这里删除了一些细节。如果想看全部内容,请参考标准。本书的其他地方已经对一些函数(特别是printf函数、scanf函数以及它们的变异函数)进行了详细介绍,所以这里 只对这类函数做简短的描述。为了获得关于某个函数更详细的信息(包括如何使用这个函数的示 例),请见函数描述右下角用楷体列出的节号。 每个函数描述结尾都有其他与之相关函数的列表。相似函数非常接近于正在描述的函数。相关函数经常会和在描述的函数联合使用。(例如,calloc函数和realloc函数与malloc函数“类似”, 而free函数则与malloc函数“相关”。)也可参见的函数和在描述的函数没有紧密联系,但是却 可能有影响。 如果把函数行为的某些方面描述为由实现定义的,那么这就意味着此函数依赖于C库的实现方式。 函数将始终行为一致,但是结果却可能会由于系统的不同而千差万别。(换句话说,请参考手册了 解可能发生的问题。)另一方面,未定义的行为是一个不好的消息:不但函数的行为可能会因系统 不同而不同,而且程序也可能会行为异常甚至崩溃。 中许多函数的描述提到了定义域错误和取值范围错误。在本附录的末尾对这两种错误进行了定义。 601 下列库函数的行为是会受到当前地区影响的: 字符处理函数(除了isdigit函数和isxdigit函数)。 格式化输入/输出函数。 多字节字符和字符串函数。 字符串转换函数。 Strcoll函数、strftime函数和strxfrm函数。 例如,isalpha函数实际上检测字符是否在a到z之间或者在A到Z之间。在某些区域内也把其他字符看成是字母次序的。本附录描述了在"C"(默认的)地区内库函数的行为。 一些函数实际上是宏。然而,这些宏的用法和函数完全一样,所以这里不对它们区别对待。 abort 异常终止程序 void abort(void); 产生SIGABRT信号。如果无法捕获信号(或者如果信号处理函数返回),那么程序会异常 终止,并且返回由实现定义的代码来说明不成功的终止。是否清洗输出缓冲区,是否关 闭打开的流,以及是否移除临时文件都是由实现定义的。 相似函数exit函数、raise函数 相关函数assert函数、signal函数 也可参见atexit函数 26.2节abs 整数的绝对值 int abs(int j); 返回整数j的绝对值。如果不能表示j的绝对值,那么函数的行为是未定义的。 ①这些材料经ANSI许可改编自American National Standards Institude ANSI/ISO 9899?1990。这个标准的副本可从 ANSI购买(ANSI, 11 West 42nd Street, New York, NY 10036)。

C语言函数库详解(收藏版)

c语言函数库 目录 第一章(C标准库) (4) 1. :诊断 (4) 2. :字符类别测试 (5) 3. :错误处理 (5) 4. :整型常量 (6) 5. :地域环境 (6) 6. :数学函数 (7) 7. :非局部跳转 (8) 8. :信号 (9) 9. :可变参数表 (11) 10. :公共定义 (11) 11. :输入输出 (12) 12. :实用函数 (13) 13. :日期与时间函数 (13) 第二章(IO函数) (14) clearerr:复位错误标志函数 (15) feof:检测文件结束符函数 (16) ferror:检测流上的错误函数 (17) fflush:清除文件缓冲区函数 (18) fgetc:从流中读取字符函数 (19) fgetpos:取得当前文件的句柄函数 (20) fgets:从流中读取字符串函数 (21) fopen、fclose:文件的打开与关闭函数 (22) fprintf:格式化输出函数 (23) fputc:向流中输出字符函数 (25) fputs:向流中输出字符串函数 (25) fread:从流中读取字符串函数 (26) freopen:替换文件中数据流函数 (27) fscanf:格式化输入函数 (28) fseek:文件指针定位函数 (28) fsetpos:定位流上的文件指针函数 (30) ftell:返回当前文件指针位置函数 (31) fwrite:向文件写入数据函数 (31) getc:从流中读取字符函数 (32) getchar:从标准输入文件中读取字符函数 (33) gets:从标准输入文件中读取字符串函数 (34) perror:打印系统错误信息函数 (34) printf:产生格式化输出的函数 (35) putc:向指定流中输出字符函数 (36) putchar:向标准输出文件上输出字符 (37)

ANSIC标准函数库(中文)

标准库ANSI C包含了15个头文件 Assert.h Float.h Math.h Stdarg.h Stdlib.h Ctype.h Limits.h Setjmp.h Stddef.h String.h Errno.h Locale.h Signal.h Stdio.h Time.h 标准库本身并不是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.h abswrite()写磁盘绝对扇区函数 原形: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.h atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h

C语言函数大全

C语言函数大全 1 字符测试函数 函数(及意义)函数分解Isalnum(){判断字符是否is alphbet(字母表) number(数字) 为字母或数字} Isalpha(){判断是否为英文is alphbet(字母表) 字母} Isblank(){空格和TAB} is blank(空格) Iscntrl() { 控制} is control(控制) Isdigit(){数字} is digit(数字) Isgraph(){除空格外的可打is graph(图表) 印字符} Islower(){是否为小写} is lowercase(小写) Isprintf(){可打印字符含空这个简单 字符} Ispunct(){标点或特殊符号is punctuation(标点) } Isspace(){检查是否为空字is space(空间) 符,即判断是否为空格,水平 定位字符“\t”,归位字符“\r ”,垂直定位字符“\v”,换行 字符“\n”,翻页“\f”} Isupper(){是否为大写字母is upper_case(大写) } Isxdigit(){十六进制} is hexadecimal digit(十六进制) Tolower(){将小写转换成 大写} Toupper(){将大写转换成这个简单(to change 或者to covert 或者 小写} transformation

字符串函数 Memchr(){在某一内存范围内查找一特定字符}Memory (储存)char(字符型炭)也可以是character (字符) Memcmp(){比较区域 str1,str2的前n个字节} Memory(同理)compare(比较) Memcpy(){由str2所指内存区域复 制n个字节到str1所指内存区域} Memory copy(复制) Memmove(){两个所指的内存区域 可重叠,但是内容会更改,函数 返回值为指向区域内存的指针} Memory move(移动) Memset(){把str所指的内存区域 的前N个字节设置成字符c} Set(设置)

C语言标准库函数2012

常用C语言标准库函数2012 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零 头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h

Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.h Isupper 原型:int isupper(inr c) 功能:测试参数c是否为大写字母:是则返回非零;否则返回零 Isxdigit 原型:int isxdigit(int c) 功能:测试参数c是否为十六进制数:是则返回非零;否则返回零 2.数学函数 abs 原型:int abs(int i) 功能:返回整数型参数i的绝对值 头文件:stdlib.h,math.h acos 原型:double acos(double x) 功能:返回双精度参数x的反余弦三角函数值 头文件:math.h asin 原型:double asin(double x) 功能:返回双精度参数x的反正弦三角函数值 头文件:math.h atan 原型:double atan(double x) 功能:返回双精度参数的反正切三角函数值 头文件:math.h atan2 原型:double atan2(double y,double x) 功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.h cabs

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.h abswrite()写磁盘绝对扇区函数 原形: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.h atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h atoi()将字符串转换成整型数的函数 原形:int atoi(const char *s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h atol()将字符串转换成长整型数的函数 原形:long atol(const char *s) 功能:把s所指向的字符串转换成long int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h bcd()把一个数转换成对应的BCD码的函数 原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)

C语言常用函数手册

1.分类函数,所在函数库为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') 2.数学函数,所在函数库为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为弧度

C语言函数大全

功能: 异常终止一个进程 用法: void abort(void) 函数名: abs 功能: 求整数的绝对值 用法: int abs(int i) 函数名: absread, abswirte 功能: 绝对磁盘扇区读、写数据 用法: int absread(int drive, int nsects, int sectno, void *buffer) int abswrite(int drive, int nsects, in tsectno, void *buffer 函数名: access 功能: 确定文件的访问权限 用法: int access(const char *filename, int amode) 函数名: acos 功能:反余弦函数 用法: double acos(double x) 函数名: allocmem 功能: 分配DOS存储段 用法:int allocmem(unsigned size, unsigned *seg) 函数名: arc 功能: 画一弧线 用法:void far arc(int x, int y, int stangle, int endangle, int radius)函数名: asctime 功能: 转换日期和时间为ASCII码 用法:char *asctime(const struct tm *tblock) 函数名: asin 功能:反正弦函数 用法: double asin(double x) 函数名: assert 功能: 测试一个条件并可能使程序终止 用法:void assert(int test) 函数名: atan 功能: 反正切函数 用法: double atan(double x)

C语言函数大全(p开头).docx

函数大全(p开头) 61 函数名:parsfnm 功能:分析文件名 用法:char *parsfnm (char *cmdline, struct fcb *fcbptr, int option); 程序例: #include #include #include #include int main(void) { char line[80]; struct fcb blk; /* get file name */ printf(M Enter drive and file name (no path - ie. a:file.dat)\n M); gets(line); /* put file name in fcb */ if (parsfnm(line, &blk, 1) == NULL) printf(M Error in parsfm call\n H); else printf("Drive #%d Name: %1 ls\n", blk.fcb_drive, blk.fcb_name); return 0; 函数名:peek 功能:检查存储单元 用法:int peek(int segment, unsigned offset); 程序例: #include #include #include int main(void) int value = 0;

prinif(=The current sUHus of your keyboard is,n=); value H Peek(oxoo4p0x0017) 八 if (value 1) P S-二 f(--Right shift onm=)八 else printaRight shift 05n =) 八 if (value 2) primf(=Lefr shift onvr.r else prin-fTLen shift O 51T ); if (value &. 4) printf(=con=rol key on\n=)_ else p r i n .s =c o =r o 】 key off\n=)八 if (value Rp 8) printf(=Alr key on\n=)一 else p r i n s ->-t key 03=)

C语言库函数手册

C语言库函数手册 分类函数,所在函数库为 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') 数学函数,所在函数库为 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) 返回指数函数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为弧度

C语言中常用的库函数

字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。 头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin

反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h 函数列表 函数类别函数用途详细说明 保存调用环境setjmp 恢复调用环境longjmp 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。

常用库函数大全

分类函数,所在函数库为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') 数学函数,所在函数库为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+y2

C语言常用的库函数

库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并 提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的 编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供 的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录 列出ANSI C建议的常用库函数。 由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、 与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不 能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据 需要,查阅有关系统的函数使用手册。 1.数学函数 使用数学函数时,应该在源文件中使用预编译命令: #include或#include "math.h" 函数名函数原型功能返回值 acos double acos(double x);计算arccos x的值,其中-1<=x<=1计算结果 asin double asin(double x);计算arcsin x的值,其中-1<=x<=1计算结果 atan double atan(double x);计算arctan x的值计算结果 atan2double atan2(double x, double y);计算arctan x/y的值计算结果 cos double cos(double x);计算cos x的值,其中x的单位为弧度计算结果 cosh double cosh(double x);计算x的双曲余弦cosh x的值计算结果 exp double exp(double x);求e x的值计算结果

(完整)c++常用函数大全,推荐文档

数学函数,所在函数库为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+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转换成字符串并返回该字符串

C语言函数大全(q,r开头)

C语言函数大全(q,r开头) 函数名: qsort 功能: 使用快速排序例程进行排序 用法: void qsort(void *base, int nelem, int width, int (*fcmp)()); 程序例: #include #include #include int sort_function( const void *a, const void *b); char list[5][4] = { "cat", "car", "cab", "cap", "can" }; int main(void) { int x; qsort((void *)list, 5, sizeof(list[0]), sort_function); for (x = 0; x < 5; x++) printf("%s\n", list[x]); return 0; } int sort_function( const void *a, const void *b) { return( strcmp(a,b) ); } 函数名: qsort 功能: 使用快速排序例程进行排序 用法: void qsort(void *base, int nelem, int width, int (*fcmp)()); 程序例: #include

#include int sort_function( const void *a, const void *b); char list[5][4] = { "cat", "car", "cab", "cap", "can" }; int main(void) { int x; qsort((void *)list, 5, sizeof(list[0]), sort_function); for (x = 0; x < 5; x++) printf("%s\n", list[x]); return 0; } int sort_function( const void *a, const void *b) { return( strcmp(a,b) ); } 函数名: raise 功能: 向正在执行的程序发送一个信号 用法: int raise(int sig); 程序例: #include int main(void) { int a, b; a = 10; b = 0; if (b == 0) /* preempt divide by zero error */ raise(SIGFPE); a = a / b;

相关主题
文本预览
相关文档 最新文档