/* 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" };
intmain(void) { int gdriver, gmode, errorcode;
detectgraph(&gdriver, &gmode);
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); }
printf("You have [%s] video display card.\n", dname[gdriver]); printf("Press any key to halt:"); getch(); return0; }
1.3 运行结果
2. difftime
2.1 函数说明
函数声明
函数功能
double difftime(time_t time2, time_t time1);
计算两个时刻之间的时间差
2.2 演示示例
1 2 3 4 5 6 7 8 9 10 11 12
#include<stdio.h> #include<time.h>
intmain(void) { time_t first, second; // time_t 相当于 long first = time(NULL); // Gets system time getchar(); second = time(NULL); // Gets system time again printf("The difference is: %lf seconds\n", difftime(second, first)); return0; }
在上述的示例代码中,
首先,我们定义了两个 time_t 类型的变量 first 和 second;
然后,调用 time(NULL) 函数获取当前的系统时间,并赋值给 first;
接着,调用 getchar() 函数等待用户输入,模拟延时的功能;
再然后,继续调用 time(NULL) 函数获取当前的系统时间,并赋值给 second;
再接着,调用 difftime() 函数计算 first 和 second 之间的时间差【单位:秒】
while (count < 20) printf("count is %d\n",count); // 恢复时钟中断的原始处理程序 setvect(INTR, oldhandler);
return0; }
注意: 这个程序可能无法在现代操作系统上直接运行,因为其中的一些函数(如disable()、enable()、getvect() 和 setvect())是特定于 DOS 的。如果你想在现代操作系统(如 Linux 或 Windows)上运行这个程序,你可能需要使用更现代的方法来处理中断或使用 DOS 模拟器。
intmain(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; poly[1] = maxy / 2;
poly[2] = maxx - 20; poly[3] = 20;
poly[4] = maxx - 50; poly[5] = maxy - 20;
poly[6] = maxx / 2; poly[7] = maxy / 2;
// drawpoly doesn't automatically close the polygon, so we close it.