1、函数一览之a b篇函数一览之a b篇(待续)内容: 异常终止一个进程求整数的绝对值绝对磁盘扇区读、写数据确定文件的访问权限反余弦函数分配DOS存储段画一弧线转换日期和时间为ASCII码反正弦函数测试一个条件并可能使程序终止反正切函数计算Y/X的反正切值注册终止函数把字符串转换成浮点数把字符串转换成长整型数画一个二维条形图画一个三维条形图DOS系统调用串行I/O通信软硬盘I/O检查设备直接使用BIOS服务的键盘接口返回存储块大小直接使用BIOS服务的打印机I/O读取或设置BIOS时间改变数据段空间分配二分法搜索函数名: abort功能:异常终止一个进程用法:voidabort(void);程序例
2、:#include#includeintmain(void)printf(Callingabort()n);abort();return0;/*Thisisneverreached*/函数名: abs功能:求整数的绝对值用法:intabs(inti);程序例:#include#includeintmain(void)intnumber=-1234;printf(number:%dabsolutevalue:%dn,number,abs(number);return0;函数名: absread, abswirte功能:绝对磁盘扇区读、写数据用法:intabsread(intdrive,intns
3、ects,intsectno,void*buffer);intabswrite(intdrive,intnsects,intsectno,void*buffer);程序例:/*absreadexample*/#include#include#include#includeintmain(void)inti,strt,ch_out,sector;charbuf512;printf(InsertadisketteintodriveAandpressanykeyn);getch();sector=0;if(absread(0,1,sector,&buf)!=0)perror(Diskproblem)
4、;exit(1);printf(ReadOKn);strt=3;for(i=0;i80;i+)ch_out=bufstrt+i;putchar(ch_out);printf(n);return(0);函数名: access功能:确定文件的访问权限用法:intaccess(constchar*filename,intamode);程序例:#include#includeintfile_exists(char*filename);intmain(void)printf(DoesNOTEXIST.FILexist:%sn,file_exists(NOTEXISTS.FIL)?YES:NO);retu
5、rn0;intfile_exists(char*filename)return(access(filename,0)=0);函数名: acos功能:反余弦函数用法:doubleacos(doublex);程序例:#include#includeintmain(void)doubleresult;doublex=0.5;result=acos(x);printf(Thearccosineof%lfis%lfn,x,result);return0;函数名: allocmem功能:分配DOS存储段用法:intallocmem(unsignedsize,unsigned*seg);程序例:#inclu
6、de#include#includeintmain(void)unsignedintsize,segp;intstat;size=64;/*(64x16)=1024bytes*/stat=allocmem(size,&segp);if(stat=-1)printf(Allocatedmemoryatsegment:%xn,segp);elseprintf(Failed:maximumnumberofparagraphsavailableis%un,stat);return0;函数名: arc功能:画一弧线用法:voidfararc(intx,inty,intstangle,intendangl
7、e,intradius);程序例:#include#include#include#includeintmain(void)/*requestautodetection*/intgdriver=DETECT,gmode,errorcode;intmidx,midy;intstangle=45,endangle=135;intradius=100;/*initializegraphicsandlocalvariables*/initgraph(&gdriver,&gmode,);/*readresultofinitialization*/errorcode=graphresult();/*ane
8、rroroccurred*/if(errorcode!=grOk)printf(Graphicserror:%sn,grapherrormsg(errorcode);printf(Pressanykeytohalt:);getch();exit(1);/*terminatewithanerrorcode*/midx=getmaxx()/2;midy=getmaxy()/2;setcolor(getmaxcolor();/*drawarc*/arc(midx,midy,stangle,endangle,radius);/*cleanup*/getch();closegraph();return0
9、;函数名: asctime功能:转换日期和时间为ASCII码用法:char*asctime(conststructtm*tblock);程序例:#include#include#includeintmain(void)structtmt;charstr80;/*sampleloadingoftmstructure*/t.tm_sec=1;/*Seconds*/t.tm_min=30;/*Minutes*/t.tm_hour=9;/*Hour*/t.tm_mday=22;/*DayoftheMonth*/t.tm_mon=11;/*Month*/t.tm_year=56;/*Year-doesn
10、otincludecentury*/t.tm_wday=4;/*Dayoftheweek*/t.tm_yday=0;/*Doesnotshowinasctime*/t.tm_isdst=0;/*IsDaylightSavTime;doesnotshowinasctime*/*convertsstructuretonullterminatedstring*/strcpy(str,asctime(&t);printf(%sn,str);return0;函数名: asin功能:反正弦函数用法:doubleasin(doublex);程序例:#include#includeintmain(void)d
11、oubleresult;doublex=0.5;result=asin(x);printf(Thearcsinof%lfis%lfn,x,result);return(0);函数名: atan功能:反正切函数用法:doubleatan(doublex);程序例:#include#includeintmain(void)doubleresult;doublex=0.5;result=atan(x);printf(Thearctangentof%lfis%lfn,x,result);return(0);函数名: atan2功能:计算Y/X的反正切值用法:doubleatan2(doubley,do
12、ublex);程序例:#include#includeintmain(void)doubleresult;doublex=90.0,y=45.0;result=atan2(y,x);printf(Thearctangentratioof%lfis%lfn,(y/x),result);return0;函数名: atexit功能:注册终止函数用法:intatexit(atexit_tfunc);程序例:#include#includevoidexit_fn1(void)printf(Exitfunction#1calledn);voidexit_fn2(void)printf(Exitfuncti
13、on#2calledn);intmain(void)/*postexitfunction#1*/atexit(exit_fn1);/*postexitfunction#2*/atexit(exit_fn2);return0;函数名: atof功能:把字符串转换成浮点数用法:doubleatof(constchar*nptr);程序例:#include#includeintmain(void)floatf;char*str=12345.67;f=atof(str);printf(string=%sfloat=%fn,str,f);return0;函数名: atoi功能:把字符串转换成长整型数用法
14、:intatoi(constchar*nptr);程序例:#include#includeintmain(void)intn;char*str=12345.67;n=atoi(str);printf(string=%sinteger=%dn,str,n);return0;函数名: bar功能:画一个二维条形图用法:voidfarbar(intleft,inttop,intright,intbottom);程序例:#include#include#include#includeintmain(void)/*requestautodetection*/intgdriver=DETECT,gmode
15、,errorcode;intmidx,midy,i;/*initializegraphicsandlocalvariables*/initgraph(&gdriver,&gmode,);/*readresultofinitialization*/errorcode=graphresult();if(errorcode!=grOk)/*anerroroccurred*/printf(Graphicserror:%sn,grapherrormsg(errorcode);printf(Pressanykeytohalt:);getch();exit(1);/*terminatewithanerror
16、code*/midx=getmaxx()/2;midy=getmaxy()/2;/*loopthroughthefillpatterns*/for(i=SOLID_FILL;iUSER_FILL;i+)/*setthefillstyle*/setfillstyle(i,getmaxcolor();/*drawthebar*/bar(midx-50,midy-50,midx+50,midy+50);getch();/*cleanup*/closegraph();return0;函数名: bar3d功能:画一个三维条形图用法:voidfarbar3d(intleft,inttop,intright
17、,intbottom,intdepth,inttopflag);程序例:#include#include#include#includeintmain(void)/*requestautodetection*/intgdriver=DETECT,gmode,errorcode;intmidx,midy,i;/*initializegraphics,localvariables*/initgraph(&gdriver,&gmode,);/*readresultofinitialization*/errorcode=graphresult();if(errorcode!=grOk)/*anerro
18、roccurred*/printf(Graphicserror:%sn,grapherrormsg(errorcode);printf(Pressanykeytohalt:);getch();exit(1);/*terminatewitherrorcode*/midx=getmaxx()/2;midy=getmaxy()/2;/*loopthroughthefillpatterns*/for(i=EMPTY_FILL;iUSER_FILL;i+)/*setthefillstyle*/setfillstyle(i,getmaxcolor();/*drawthe3-dbar*/bar3d(midx
19、-50,midy-50,midx+50,midy+50,10,1);getch();/*cleanup*/closegraph();return0;函数名: bdos功能:DOS系统调用用法:intbdos(intdosfun,unsigneddosdx,unsigneddosal);程序例:#include#include/*GetcurrentdriveasA,B,.*/charcurrent_drive(void)charcurdrive;/*Getcurrentdiskas0,1,.*/curdrive=bdos(0x19,0,0);return(A+curdrive);intmain
20、(void)printf(Thecurrentdriveis%c:n,current_drive();return0;函数名: bdosptr功能:DOS系统调用用法:intbdosptr(intdosfun,void*argument,unsigneddosal);程序例:#include#include#include#include#include#include#defineBUFLEN80intmain(void)charbufferBUFLEN;inttest;printf(Enterfullpathnameofadirectoryn);gets(buffer);test=bdos
21、ptr(0x3B,buffer,0);if(test)printf(DOSerrormessage:%dn,errno);/*Seeerrno.hforerrorlistings*/exit(1);getcwd(buffer,BUFLEN);printf(Thecurrentdirectoryis:%sn,buffer);return0;函数名: biosdisk功能:软硬盘I/O用法:intbiosdisk(intcmd,intdrive,inthead,inttrack,intsectorintnsects,void*buffer);程序例:#include#includeintmain(
22、void)intresult;charbuffer512;printf(Testingtoseeifdrivea:isreadyn);result=biosdisk(4,0,0,0,0,1,buffer);result&=0x02;(result)?(printf(DriveA:Readyn):(printf(DriveA:NotReadyn);return0;函数名: biosequip功能:检查设备用法:intbiosequip(void);程序例:#include#includeintmain(void)intresult;charbuffer512;printf(Testingtoseeifdrivea:isreadyn);result=biosdisk(4,0,0,0,0,1,buffer);result&=0x02;(result)?(printf(Dri
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1