函数名: delay 功
能: 将程序的执行暂停一段时间(毫秒) 用 法: void delay(unsigned milliseconds); 程序例:
/* Emits a 440-Hz tone for 500 milliseconds */ #include <dos.h> int
main(void) { sound(440); delay(500);
nosound(); return 0; } 函数名: delline
功 能: 在文本窗口中删去一行 用 法: void delline(void); 程序例: #include
<conio.h> int main(void) { clrscr();
cprintf("The function DELLINE deletes \ the line containing
the\r\n"); cprintf("cursor and moves all lines \
below it one line up.\r\n"); cprintf("DELLINE operates within
the \ currently active text\r\n"); cprintf("window.
Press any key to \ continue . . ."); gotoxy(1,2);
/* Move the cursor to the second line and first
column */ getch(); delline();
getch(); return 0; } 函数名: detectgraph 功
能: 通过检测硬件确定图形驱动程序和模式 用 法: void far detectgraph(int far *graphdriver,
int far *graphmode); 程序例: #include <graphics.h> #include <stdlib.h>
#include <stdio.h> #include <conio.h> /* names of the various
cards supported */ char *dname[] = { "requests detection",
"a CGA", "an MCGA", "an EGA",
"a 64K EGA", "a monochrome EGA",
"an IBM 8514", "a Hercules monochrome",
"an AT&T 6300 PC", "a VGA",
"an IBM 3270 PC" }; int main(void) { /* returns
detected hardware info. */ int gdriver, gmode, errorcode;
/* detect graphics hardware available */ detectgraph(&gdriver,
&gmode); /* read result of detectgraph call */
errorcode = graphresult(); if (errorcode != grOk) /* an
error occurred */
{ printf("Graphics error: %s\n", \
grapherrormsg(errorcode)); printf("Press any
key to halt:"); getch();
exit(1); /* terminate with an error code */
} /* display the information detected */ clrscr();
printf("You have %s video display \ card.\n",
dname[gdriver]); printf("Press any key to halt:");
getch(); return 0; } 函数名:
difftime 功 能: 计算两个时刻之间的时间差 用 法: double difftime(time_t time2,
time_t time1); 程序例: #include <time.h> #include <stdio.h> #include
<dos.h> #include <conio.h> int main(void) {
time_t first, second; clrscr(); first = time(NULL);
/* Gets system time */ delay(2000);
/* Waits 2 secs */ second = time(NULL); /* Gets system time
again */ printf("The difference is: %f \ seconds\n",difftime(second,first));
getch(); return 0; }
函数名: disable 功 能: 屏蔽中断 用 法: void disable(void); 程序例:
/***NOTE: This is an interrupt service routine. You cannot compile
this program with Test Stack Overflow turned on and get an
executable file that operates correctly. */ #include <stdio.h>
#include <dos.h> #include <conio.h> #define INTR 0X1C
/* The clock tick interrupt */ void interrupt ( *oldhandler)(void);
int count=0; void interrupt handler(void) { /* disable interrupts
during the handling of the interrupt */ disable();
/* increase the global counter */ count++; /* reenable
interrupts at the end of the handler */ enable();
/* call the old routine */ oldhandler(); } int main(void)
{ /* save the old interrupt vector */ oldhandler = getvect(INTR);
/* install the new interrupt handler */ setvect(INTR, handler);
/* loop until the counter exceeds 20 */ while (count <
20) printf("count is %d\n",count); /* reset
the old interrupt handler */ setvect(INTR, oldhandler);
return 0; } 函数名: div 功 能: 将两个整数相除, 返回商和余数 用 法: div_t
(int number, int denom); 程序例: #include <stdlib.h> #include <stdio.h>
div_t x; int main(void) { x = div(10,3);
printf("10 div 3 = %d remainder %d\n", x.quot, x.rem); return
0; } 函数名: dosexterr 功 能: 获取扩展DOS错误信息 用
法: int dosexterr(struct DOSERR *dblkp); 程序例: #include <stdio.h> #include
<dos.h> int main(void) { FILE *fp;
struct DOSERROR info; fp = fopen("perror.dat","r");
if (!fp) perror("Unable to open file for reading");
dosexterr(&info); printf("Extended DOS error
\ information:\n"); printf(" Extended
error: \ %d\n",info.exterror); printf("
Class: \ %x\n",info.class); printf("
Action: \ %x\n",info.action); printf("
Error Locus: \ %x\n",info.locus); return 0; }
函数名: dostounix 功 能: 转换日期和时间为UNIX时间格式 用
法: long dostounix(struct date *dateptr, struct time *timeptr); 程序例: #include
<time.h> #include <stddef.h> #include <dos.h> #include
<stdio.h> int main(void) { time_t
t; struct time d_time; struct date
d_date; struct tm *local; getdate(&d_date);
gettime(&d_time); t = dostounix(&d_date,
&d_time); local = localtime(&t);
printf("Time and Date: %s\n", \ asctime(local));
return 0; } 函数名: drawpoly 功 能: 画多边形 用
法: void far drawpoly(int numpoints, int far *polypoints); 程序例: #include
<graphics.h> #include <stdlib.h> #include <stdio.h> #include
<conio.h> int main(void) { /* request auto detection
*/ int gdriver = DETECT, gmode, errorcode; int
maxx, maxy; /* our polygon array */ int poly[10];
/* initialize graphics and local
variables */ initgraph(&gdriver, &gmode, "");
/* read result of initialization */ errorcode = graphresult();
if (errorcode != grOk) /* an error occurred
*/ { printf("Graphics error:
%s\n", \ grapherrormsg(errorcode));
printf("Press any key to halt:"); getch();
/* terminate with an error code */
exit(1); } maxx = getmaxx();
maxy = getmaxy(); poly[0] = 20;
/* 1st vertext */ poly[1] = maxy / 2; poly[2]
= maxx - 20; /* 2nd */ poly[3] = 20; poly[4]
= maxx - 50; /* 3rd */ poly[5] = maxy - 20; poly[6]
= maxx / 2; /* 4th */ poly[7] = maxy / 2; /*
drawpoly doesn't automatically close the polygon, so we close
it. */ poly[8] = poly[0]; poly[9] = poly[1];
/* draw the polygon */ drawpoly(5, poly);
/* clean up */ getch(); closegraph();
return 0; } 函数名: dup 功 能: 复制一个文件句柄 用
法: int dup(int handle); 程序例: #include <string.h> #include <stdio.h>
#include <conio.h> #include <io.h> void flush(FILE *stream);
int main(void) { FILE *fp; char msg[]
= "This is a test"; /* create a file */ fp =
fopen("DUMMY.FIL", "w"); /* write some data to the file */
fwrite(msg, strlen(msg), 1, fp); clrscr(); printf("Press
any key to flush \ DUMMY.FIL:"); getch();
/* flush the data to DUMMY.FIL without closing
it */ flush(fp); printf("\nFile was flushed,
Press any \ key to quit:"); getch();
return 0; } void flush(FILE *stream) { int duphandle;
/* flush TC's internal buffer */ fflush(stream);
/* make a duplicate file handle */ duphandle
= dup(fileno(stream)); /* close the duplicate handle to flush
the DOS buffer */ close(duphandle);
} 函数名: dup2 功 能: 复制文件句柄 用 法:
int dup2(int oldhandle, int newhandle); 程序例: #include <sys\stat.h> #include
<string.h> #include <fcntl.h> #include <io.h> int main(void)
{ #define STDOUT 1 int nul, oldstdout;
char msg[] = "This is a test"; /* create a file */
nul = open("DUMMY.FIL", O_CREAT | O_RDWR, S_IREAD
| S_IWRITE); /* create a duplicate handle for standard
output */ oldstdout = dup(STDOUT); /*
redirect standard output to DUMMY.FIL by duplicating
the file handle onto the file handle for standard
output. */ dup2(nul, STDOUT);
/* close the handle for DUMMY.FIL */ close(nul);
/* will be redirected into DUMMY.FIL */ write(STDOUT, msg, strlen(msg));
/* restore original standard output
handle */ dup2(oldstdout, STDOUT); /* close duplicate
handle for STDOUT */ close(oldstdout); return
0; }
返回目录
|