1、函数大全 (A开头 ) 函数名 : abort 功 能 : 异常终止一个进程 用 法 : void abort(void); 程序例 : #include #include int main(void) printf(“Calling abort()n“); abort(); return 0; /* This is never reached */ 函数名 : abs 功 能 : 求整数的绝对值 用 法 : int abs(int i); 程序例 : #include #include int main(void) int number = -1234; printf(“number: %d
2、 absolute value: %dn“, number, abs(number); return 0; 函数名 : absread, abswirte 功 能 : 绝对磁盘扇区读、写数据 用 法 : int absread(int drive, int nsects, int sectno, void *buffer); int abswrite(int drive, int nsects, in tsectno, void *buffer); 程序例 : /* absread example */ #include #include #include #include int main(
3、void) int i, strt, ch_out, sector; char buf512; printf(“Insert a diskette into drive A and press any keyn“); getch(); sector = 0; if (absread(0, 1, sector, exit(1); printf(“Read OKn“); strt = 3; for (i=0; i80; i+) ch_out = bufstrt+i; putchar(ch_out); printf(“n“); return(0); 函数名 : access 功 能 : 确定文件的访
4、问权限 用 法 : int access(const char *filename, int amode); 程序例 : #include #include int file_exists(char *filename); int main(void) printf(“Does NOTEXIST.FIL exist: %sn“, file_exists(“NOTEXISTS.FIL“) ? “YES“ : “NO“); return 0; int file_exists(char *filename) return (access(filename, 0) = 0); 函数名 : acos 功
5、 能 : 反余弦函数 用 法 : double acos(double x); 程序例 : #include #include int main(void) double result; double x = 0.5; result = acos(x); printf(“The arc cosine of %lf is %lfn“, x, result); return 0; 函数名 : allocmem 功 能 : 分配 DOS存储段 用 法 : int allocmem(unsigned size, unsigned *seg); 程序例 : #include #include #incl
6、ude int main(void) unsigned int size, segp; int stat; size = 64; /* (64 x 16) = 1024 bytes */ stat = allocmem(size, if (stat = -1) printf(“Allocated memory at segment: %xn“, segp); else printf(“Failed: maximum number of paragraphs available is %un“, stat); return 0; 函数名 : arc 功 能 : 画一弧线 用 法 : void f
7、ar arc(int x, int y, int stangle, int endangle, int radius); 程序例 : #include #include #include #include int main(void) /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy; int stangle = 45, endangle = 135; int radius = 100; /* initialize graphics and local variables */
8、 initgraph( /* read result of initialization */ errorcode = graphresult(); /* an error occurred */ if (errorcode != grOk) printf(“Graphics error: %sn“, grapherrormsg(errorcode); printf(“Press any key to halt:“); getch(); exit(1); /* terminate with an error code */ midx = getmaxx() / 2; midy = getmax
9、y() / 2; setcolor(getmaxcolor(); /* draw arc */ arc(midx, midy, stangle, endangle, radius); /* clean up */ getch(); closegraph(); return 0; 函数名 : asctime 功 能 : 转换日期和时间为 ASCII码 用 法 : char *asctime(const struct tm *tblock); 程序例 : #include #include #include int main(void) struct tm t; char str80; /* sa
10、mple loading of tm structure */ t.tm_sec = 1; /* Seconds */ t.tm_min = 30; /* Minutes */ t.tm_hour = 9; /* Hour */ t.tm_mday = 22; /* Day of the Month */ t.tm_mon = 11; /* Month */ t.tm_year = 56; /* Year - does not include century */ t.tm_wday = 4; /* Day of the week */ t.tm_yday = 0; /* Does not s
11、how in asctime */ t.tm_isdst = 0; /* Is Daylight SavTime; does not show in asctime */ /* converts structure to null terminated string */ strcpy(str, asctime( printf(“%sn“, str); return 0; 函数名 : asin 功 能 : 反正弦函数 用 法 : double asin(double x); 程序例 : #include #include int main(void) double result; double
12、 x = 0.5; result = asin(x); printf(“The arc sin of %lf is %lfn“, x, result); return(0); 函数名 : assert 功 能 : 测试一个条件并可能使程序终止 用 法 : void assert(int test); 程序例 : #include #include #include struct ITEM int key; int value; ; /* add item to list, make sure list is not null */ void additem(struct ITEM *itemp
13、tr) assert(itemptr != NULL); /* add item to list */ int main(void) additem(NULL); return 0; 函数名 : atan 功 能 : 反正切函数 用 法 : double atan(double x); 程序例 : #include #include int main(void) double result; double x = 0.5; result = atan(x); printf(“The arc tangent of %lf is %lfn“, x, result); return(0); 函数名
14、: atan2 功 能 : 计算 Y/X的反正切值 用 法 : double atan2(double y, double x); 程序例 : #include #include int main(void) double result; double x = 90.0, y = 45.0; result = atan2(y, x); printf(“The arc tangent ratio of %lf is %lfn“, (y / x), result); return 0; 函数名 : atexit 功 能 : 注册终止函数 用 法 : int atexit(atexit_t func
15、); 程序例 : #include #include void exit_fn1(void) printf(“Exit function #1 calledn“); void exit_fn2(void) printf(“Exit function #2 calledn“); int main(void) /* post exit function #1 */ atexit(exit_fn1); /* post exit function #2 */ atexit(exit_fn2); return 0; 函数名 : atof 功 能 : 把字符串转换成浮点数 用 法 : double ato
16、f(const char *nptr); 程序例 : #include #include int main(void) float f; char *str = “12345.67“; f = atof(str); printf(“string = %s float = %fn“, str, f); return 0; 函数名 : atoi 功 能 : 把字符串转换成长整型数 用 法 : int atoi(const char *nptr); 程序例 : #include #include int main(void) int n; char *str = “12345.67“; n = at
17、oi(str); printf(“string = %s integer = %dn“, str, n); return 0; 函数名 : atol 功 能 : 把字符串转换成长整型数 用 法 : long atol(const char *nptr); 程序例 : #include #include int main(void) long l; char *str = “98765432“; l = atol(lstr); printf(“string = %s integer = %ldn“, str, l); return(0); 函数大全 (B开头 ) 函数名 : bar 功 能 :
18、画一个二维条形图 用 法 : void far bar(int left, int top, int right, int bottom); 程 序例 : #include #include #include #include int main(void) /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy, i; /* initialize graphics and local variables */ initgraph( /* read result of initiali
19、zation */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ printf(“Graphics error: %sn“, grapherrormsg(errorcode); printf(“Press any key to halt:“); getch(); exit(1); /* terminate with an error code */ midx = getmaxx() / 2; midy = getmaxy() / 2; /* loop through the fill patt
20、erns */ for (i=SOLID_FILL; i /* set the fill style */ setfillstyle(i, getmaxcolor(); /* draw the bar */ bar(midx-50, midy-50, midx+50, midy+50); getch(); /* clean up */ closegraph(); return 0; 函数名 : bar3d 功 能 : 画一个三维条形图 用 法 : void far bar3d(int left, int top, int right, int bottom, int depth, int to
21、pflag); 程序例 : #include #include #include #include int main(void) /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy, i; /* initialize graphics, local variables */ initgraph( /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an e
22、rror occurred */ printf(“Graphics error: %sn“, grapherrormsg(errorcode); printf(“Press any key to halt:“); getch(); exit(1); /* terminate with error code */ midx = getmaxx() / 2; midy = getmaxy() / 2; /* loop through the fill patterns */ for (i=EMPTY_FILL; i /* set the fill style */ setfillstyle(i,
23、getmaxcolor(); /* draw the 3-d bar */ bar3d(midx-50, midy-50, midx+50, midy+50, 10, 1); getch(); /* clean up */ closegraph(); return 0; 函数名 : bdos 功 能 : DOS系统调用 用 法 : int bdos(int dosfun, unsigned dosdx, unsigned dosal); 程序例 : #include #include /* Get current drive as A, B, . */ char current_drive(v
24、oid) char curdrive; /* Get current disk as 0, 1, . */ curdrive = bdos(0x19, 0, 0); return(A + curdrive); int main(void) printf(“The current drive is %c:n“, current_drive(); return 0; 函数名 : bdosptr 功 能 : DOS系统调用 用 法 : int bdosptr(int dosfun, void *argument, unsigned dosal); 程序例 : #include #include #i
25、nclude #include #include #include #define BUFLEN 80 int main(void) char bufferBUFLEN; int test; printf(“Enter full pathname of a directoryn“); gets(buffer); test = bdosptr(0x3B,buffer,0); if(test) printf(“DOS error message: %dn“, errno); /* See errno.h for error listings */ exit (1); getcwd(buffer,
26、BUFLEN); printf(“The current directory is: %sn“, buffer); return 0; 函数名 : bioscom 功 能 : 串行 I/O通信 用 法 : int bioscom(int cmd, char abyte, int port); 程序例 : #include #include #define COM1 0 #define DATA_READY 0x100 #define TRUE 1 #define FALSE 0 #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00) int main(voi
27、d) int in, out, status, DONE = FALSE; bioscom(0, SETTINGS, COM1); cprintf(“. BIOSCOM ESC to exit .n“); while (!DONE) status = bioscom(3, 0, COM1); if (status if (kbhit() if (in = getch() = x1B) DONE = TRUE; bioscom(1, in, COM1); return 0; 函数名 : biosdisk 功 能 : 软硬盘 I/O 用 法 : int biosdisk(int cmd, int
28、drive, int head, int track, int sector int nsects, void *buffer); 程序例 : #include #include int main(void) int result; char buffer512; printf(“Testing to see if drive a: is readyn“); result = biosdisk(4,0,0,0,0,1,buffer); result (result) ? (printf(“Drive A: Readyn“) : (printf(“Drive A: Not Readyn“); r
29、eturn 0; 函数名 : biosequip 功 能 : 检查设备 用 法 : int biosequip(void); 程序例 : #include #include int main(void) int result; char buffer512; printf(“Testing to see if drive a: is readyn“); result = biosdisk(4,0,0,0,0,1,buffer); result (result) ? (printf(“Drive A: Readyn“) : (printf(“Drive A: Not Readyn“); retu
30、rn 0; 函数名 : bioskey 功 能 : 直接使用 BIOS服务的键盘接口 用 法 : int bioskey(int cmd); 程序例 : #include #include #include #define RIGHT 0x01 #define LEFT 0x02 #define CTRL 0x04 #define ALT 0x08 int main(void) int key, modifiers; /* function 1 returns 0 until a key is pressed */ while (bioskey(1) = 0); /* function 0 r
31、eturns the key that is waiting */ key = bioskey(0); /* use function 2 to determine if shift keys were used */ modifiers = bioskey(2); if (modifiers) printf(“); if (modifiers if (modifiers if (modifiers if (modifiers printf(“); /* print out the character read */ if (isalnum(key else printf(“%#02xn“,
32、key); return 0; 函数名 : biosmemory 功 能 : 返回存储块大小 用 法 :int biosmemory(void); 程序例 : #include #include int main(void) int memory_size; memory_size = biosmemory(); /* returns value up to 640K */ printf(“RAM size = %dKn“,memory_size); return 0; 函数名 : biosprint 功 能 : 直接使用 BIOS服务的打印机 I/O 用 法 : int biosprint(
33、int cmd, int byte, int port); 程序例 : #include #include #include int main(void) #define STATUS 2 /* printer status command */ #define PORTNUM 0 /* port number for LPT1 */ int status, abyte=0; printf(“Please turn off your printer. Press any key to continuen“); getch(); status = biosprint(STATUS, abyte,
34、 PORTNUM); if (status if (status if (status if (status if (status if (status return 0; 函数名 : biostime 功 能 : 读取或设置 BIOS时间 用 法 : long biostime(int cmd, long newtime); 程序例 : #include #include #include #include int main(void) long bios_time; clrscr(); cprintf(“The number of clock ticks since midnight is
35、:rn“); cprintf(“The number of seconds since midnight is:rn“); cprintf(“The number of minutes since midnight is:rn“); cprintf(“The number of hours since midnight is:rn“); cprintf(“rnPress any key to quit:“); while(!kbhit() bios_time = biostime(0, 0L); gotoxy(50, 1); cprintf(“%lu“, bios_time); gotoxy(
36、50, 2); cprintf(“%.4f“, bios_time / CLK_TCK); gotoxy(50, 3); cprintf(“%.4f“, bios_time / CLK_TCK / 60); gotoxy(50, 4); cprintf(“%.4f“, bios_time / CLK_TCK / 3600); return 0; 函数 名 : brk 功 能 : 改变数据段空间分配 用 法 : int brk(void *endds); 程序例 : #include #include int main(void) char *ptr; printf(“Changing allo
37、cation with brk()n“); ptr = malloc(1); printf(“Before brk() call: %lu bytes freen“, coreleft(); brk(ptr+1000); printf(“ After brk() call: %lu bytes freen“, coreleft(); return 0; 函数名 : bsearch 功 能 : 二分法搜索 用 法 : void *bsearch(const void *key, const void *base, size_t *nelem, size_t width, int(*fcmp)(c
38、onst void *, const *); 程序例 : #include #include #define NELEMS(arr) (sizeof(arr) / sizeof(arr0) int numarray = 123, 145, 512, 627, 800, 933; int numeric (const int *p1, const int *p2) return(*p1 - *p2); int lookup(int key) int *itemptr; /* The cast of (int(*)(const void *,const void*) is needed to av
39、oid a type mismatch error at compile time */ itemptr = bsearch ( return (itemptr != NULL); int main(void) if (lookup(512) printf(“512 is in the table.n“); else printf(“512 isnt in the table.n“); return 0; 函数大全 (B开头 ) 函数名 : bar 功 能 : 画一个二维条形图 用 法 : void far bar(int left, int top, int right, int botto
40、m); 程序例 : #include #include #include #include int main(void) /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy, i; /* initialize graphics and local variables */ initgraph( /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an er
41、ror occurred */ printf(“Graphics error: %sn“, grapherrormsg(errorcode); printf(“Press any key to halt:“); getch(); exit(1); /* terminate with an error code */ midx = getmaxx() / 2; midy = getmaxy() / 2; /* loop through the fill patterns */ for (i=SOLID_FILL; i /* set the fill style */ setfillstyle(i
42、, getmaxcolor(); /* draw the bar */ bar(midx-50, midy-50, midx+50, midy+50); getch(); /* clean up */ closegraph(); return 0; 函数名 : bar3d 功 能 : 画一个三维条形图 用 法 : void far bar3d(int left, int top, int right, int bottom, int depth, int topflag); 程序例 : #include #include #include #include int main(void) /*
43、request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy, i; /* initialize graphics, local variables */ initgraph( /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ printf(“Graphics error: %sn“, grapherrormsg(errorco
44、de); printf(“Press any key to halt:“); getch(); exit(1); /* terminate with error code */ midx = getmaxx() / 2; midy = getmaxy() / 2; /* loop through the fill patterns */ for (i=EMPTY_FILL; i /* set the fill style */ setfillstyle(i, getmaxcolor(); /* draw the 3-d bar */ bar3d(midx-50, midy-50, midx+5
45、0, midy+50, 10, 1); getch(); /* clean up */ closegraph(); return 0; 函数名 : bdos 功 能 : DOS系统调用 用 法 : int bdos(int dosfun, unsigned dosdx, unsigned dosal); 程序例 : #include #include /* Get current drive as A, B, . */ char current_drive(void) char curdrive; /* Get current disk as 0, 1, . */ curdrive = bdo
46、s(0x19, 0, 0); return(A + curdrive); int main(void) printf(“The current drive is %c:n“, current_drive(); return 0; 函数名 : bdosptr 功 能 : DOS系统调用 用 法 : int bdosptr(int dosfun, void *argument, unsigned dosal); 程序例 : #include #include #include #include #include #include #define BUFLEN 80 int main(void) c
47、har bufferBUFLEN; int test; printf(“Enter full pathname of a directoryn“); gets(buffer); test = bdosptr(0x3B,buffer,0); if(test) printf(“DOS error message: %dn“, errno); /* See errno.h for error listings */ exit (1); getcwd(buffer, BUFLEN); printf(“The current directory is: %sn“, buffer); return 0;
48、函数名 : bioscom 功 能 : 串行 I/O通信 用 法 : int bioscom(int cmd, char abyte, int port); 程序例 : #include #include #define COM1 0 #define DATA_READY 0x100 #define TRUE 1 #define FALSE 0 #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00) int main(void) int in, out, status, DONE = FALSE; bioscom(0, SETTINGS, COM1); cprintf(“. BIOSCOM ESC to exit .n“); while (!DONE) status = bioscom(3, 0, COM1); if (status if (kbhit() if (in = getch() = x1B) DONE = TRUE; bioscom(1, in, COM1); return 0