c语言函数--D

来源:互联网 发布:龙卷风网络歌手 编辑:程序博客网 时间:2024/06/12 11:24




函数名: 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; } 



书画小说软件 制作更惬意的读、更舒心的写、更轻松的发布

0 0
原创粉丝点击