C语言库函数大全及应用实例五 函数名: getcurdir 功 能: 取指定驱动器的当前目录 用 法: int getcurdir(int drive, char *direc); 程序例:
#i nclude #i nclude #i nclude
char *current_directory(char *path) { strcpy(path, "X:\\"); /* fill string with form of response: X:\ */ path[0] = 'A' + getdisk(); /* replace X with current drive letter */ getcurdir(0, path+3); /* fill rest of string with current directory */ return(path); }
int main(void) { char curdir[MAXPATH];
current_directory(curdir); printf("The current directory is %s\n", curdir);
return 0; }
函数名: getcwd 功 能: 取当前工作目录 用 法: char *getcwd(char *buf, int n); 程序例:
#i nclude #i nclude
int main(void) { char buffer[MAXPATH];
getcwd(buffer, MAXPATH); printf("The current directory is: %s\n", buffer); return 0; }
函数名: getdate 功 能: 取DOS日期 用 法: void getdate(struct *dateblk); 程序例:
#i nclude #i nclude
int main(void) { struct date d;
getdate(&d); printf("The current year is: %d\n", d.da_year); printf("The current day is: %d\n", d.da_day); printf("The current month is: %d\n", d.da_mon); return 0; }
函数名: getdefaultpalette 功 能: 返回调色板定义结构 用 法: struct palettetype *far getdefaultpalette(void); 程序例:
#i nclude #i nclude #i nclude #i nclude
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int i;
/* structure for returning palette copy */ struct palettetype far *pal=(void *) 0;
/* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "");
/* read result of initialization */ errorcode = graphresult(); /* an error occurred */ if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); /* terminate with an error code */ exit(1); }
setcolor(getmaxcolor());
/* return a pointer to the default palette */ pal = getdefaultpalette();
for (i=0; i<16; i++) { printf("colors[%d] = %d\n", i, pal->colors); getch(); }
/* clean up */ getch(); closegraph(); return 0; }
函数名: getdisk 功 能: 取当前磁盘驱动器号 用 法: int getdisk(void); 程序例:
#i nclude #i nclude
int main(void) { int disk;
disk = getdisk() + 'A'; printf("The current drive is: %c\n", disk); return 0; }
函数名: getdrivername 功 能: 返回指向包含当前图形驱动程序名字的字符串指针 用 法: char *getdrivename(void); 程序例:
#i nclude #i nclude #i nclude #i nclude
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode;
/* stores the device driver name */ char *drivername;
/* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "");
/* read result of initialization */ errorcode = graphresult(); /* an error occurred */ if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); /* terminate with an error code */ exit(1); }
setcolor(getmaxcolor());
/* get name of the device driver in use */ drivername = getdrivername();
/* for centering text on the screen */ settextjustify(CENTER_TEXT, CENTER_TEXT);
/* output the name of the driver */ outtextxy(getmaxx() / 2, getmaxy() / 2, drivername);
/* clean up */ getch(); closegraph(); return 0; }
函数名: getdta 功 能: 取磁盘传输地址 用 法: char far *getdta(void); 程序例:
#i nclude #i nclude
int main(void) { char far *dta;
dta = getdta(); printf("The current disk transfer \ address is: %Fp\n", dta); return 0; }
函数名: getenv 功 能: 从环境中取字符串 用 法: char *getenv(char *envvar); 程序例:
#i nclude #i nclude
int main(void) { char *s;
s=getenv("COMSPEC"); /* get the comspec environment parameter */ printf("Command processor: %s\n",s); /* display comspec parameter */
return 0; }
函数名: getfat, getfatd 功 能: 取文件分配表信息 用 法: void getfat(int drive, struct fatinfo *fatblkp); 程序例:
#i nclude #i nclude
int main(void) { struct fatinfo diskinfo; int flag = 0;
printf("Please insert disk in drive A\n"); getchar();
getfat(1, &diskinfo); /* get drive information */
printf("\nDrive A: is "); switch((unsigned char) diskinfo.fi_fatid) { case 0xFD: printf("360K low density\n"); break;
case 0xF9: printf("1.2 Meg high density\n"); break;
default: printf("unformatted\n"); flag = 1; }
if (!flag) { printf(" sectors per cluster %5d\n", diskinfo.fi_sclus); printf(" number of clusters %5d\n", diskinfo.fi_nclus); printf(" bytes per sector %5d\n", diskinfo.fi_bysec); }
return 0; }
函数名: getfillpattern 功 能: 将用户定义的填充模式拷贝到内存中 用 法: void far getfillpattern(char far *upattern); 程序例:
#i nclude #i nclude #i nclude #i nclude
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int maxx, maxy; char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x25, 0x27, 0x04, 0x04};
/* 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(); exit(1); /* terminate with an error code */ }
maxx = getmaxx(); maxy = getmaxy(); setcolor(getmaxcolor());
/* select a user defined fill pattern */ setfillpattern(pattern, getmaxcolor());
/* fill the screen with the pattern */ bar(0, 0, maxx, maxy);
getch();
/* get the current user defined fill pattern */ getfillpattern(pattern);
/* alter the pattern we grabbed */ pattern[4] -= 1; pattern[5] -= 3; pattern[6] += 3; pattern[7] -= 4;
/* select our new pattern */ setfillpattern(pattern, getmaxcolor());
/* fill the screen with the new pattern */ bar(0, 0, maxx, maxy);
/* clean up */ getch(); closegraph(); return 0; }
函数名: getfillsettings 功 能: 取得有关当前填充模式和填充颜色的信息 用 法: void far getfillsettings(struct fillsettingstype far *fillinfo); 程序例:
#i nclude #i nclude #i nclude #i nclude
/ the names of the fill styles supported */ char *fname[] = { "EMPTY_FILL", "SOLID_FILL", "LINE_FILL", "LTSLASH_FILL", "SLASH_FILL", "BKSLASH_FILL", "LTBKSLASH_FILL", "HATCH_FILL", "XHATCH_FILL", "INTERLEAVE_FILL", "WIDE_DOT_FILL", "CLOSE_DOT_FILL", "USER_FILL" };
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; struct fillsettingstype fillinfo; int midx, midy; char patstr[40], colstr[40];
/* 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(); exit(1); /* terminate with an error code */ }
midx = getmaxx() / 2; midy = getmaxy() / 2;
/* get information about current fill pattern and color */ getfillsettings(&fillinfo);
/* convert fill information into strings */ sprintf(patstr, "%s is the fill style.", fname[fillinfo.pattern]); sprintf(colstr, "%d is the fill color.", fillinfo.color);
/* display the information */ settextjustify(CENTER_TEXT, CENTER_TEXT); outtextxy(midx, midy, patstr); outtextxy(midx, midy+2*textheight("W"), colstr);
/* clean up */ getch(); closegraph(); return 0; } 函数名: getftime 功 能: 取文件日期和时间 用 法: int getftime(int handle, struct ftime *ftimep); 程序例:
#i nclude #i nclude
int main(void) { FILE *stream; struct ftime ft;
if ((stream = fopen("TEST.$$$", "wt")) == NULL) { fprintf(stderr, "Cannot open output file.\n"); return 1; } getftime(fileno(stream), &ft); printf("File time: %u:%u:%u\n", ft.ft_hour, ft.ft_min, ft.ft_tsec * 2); printf("File date: %u/%u/%u\n", ft.ft_month, ft.ft_day, ft.ft_year+1980); fclose(stream); return 0; }
|