函数名: gcvt 功 能: 把浮点数转换成字符串 用 法: char *gcvt(double value, int ndigit, char *buf); 程序例: #include <stdlib.h> #include <stdio.h>
int main(void) { char str[25]; double num; int sig = 5; /* significant digits */
/* a regular number */ num = 9.876; gcvt(num, sig, str); printf("string = %s\n", str);
/* a negative number */ num = -123.4567; gcvt(num, sig, str); printf("string = %s\n", str);
/* scientific notation */ num = 0.678e5; gcvt(num, sig, str); printf("string = %s\n", str);
return(0); }
函数名: geninterrupt 功 能: 产生一个软中断 用 法: void geninterrupt(int intr_num); 程序例:
#include <conio.h> #include <dos.h>
/* function prototype */ void writechar(char ch);
int main(void) { clrscr(); gotoxy(80,25); writechar('*'); getch(); return 0; }
/* outputs a character at the current cursor position using the video BIOS to avoid the scrolling of the screen when writing to location (80,25). */
void writechar(char ch) { strUCt text_info ti; /* grab current text settings */ gettextinfo(&ti); /* interrupt 0x10 sub-function 9 */ _AH = 9; /* character to be output */ _AL = ch; _BH = 0; /* video page */ _BL = ti.attribute; /* video attribute */ _CX = 1; /* repetition factor */ geninterrupt(0x10); /* output the char */ }
函数名: getarccoords 功 能: 取得最后一次调用arc的坐标 用 法: void far getarccoords(struct arccoordstype far *arccoords); 程序例:
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h>
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; struct arccoordstype arcinfo; int midx, midy; int stangle = 45, endangle = 270; char sstr[80], estr[80];
/* 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); }
midx = getmaxx() / 2; midy = getmaxy() / 2;
/* draw arc and get coordinates */ setcolor(getmaxcolor()); arc(midx, midy, stangle, endangle, 100); getarccoords(&arcinfo);
/* convert arc information into strings */ sprintf(sstr, "*- (%d, %d)", arcinfo.xstart, arcinfo.ystart); sprintf(estr, "*- (%d, %d)", arcinfo.xend, arcinfo.yend);
/* output the arc information */ outtextxy(arcinfo.xstart, arcinfo.ystart, sstr); outtextxy(arcinfo.xend, arcinfo.yend, estr);
/* clean up */ getch(); closegraph(); return 0; }
函数名: getASPectratio 功 能: 返回当前图形模式的纵横比 用 法: void far getaspectratio(int far *xasp, int far *yasp); 程序例:
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h>
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int xasp, yasp, midx, midy;
/* 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); }
midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor());
/* get current aspect ratio settings */ getaspectratio(&xasp, &yasp);
/* draw normal circle */ circle(midx, midy, 100); getch();
/* draw wide circle */ cleardevice(); setaspectratio(xasp/2, yasp); circle(midx, midy, 100); getch();
/* draw narrow circle */ cleardevice(); setaspectratio(xasp, yasp/2); circle(midx, midy, 100);
/* clean up */ getch(); closegraph(); return 0; }
函数名: getbkcolor 功 能: 返回当前背景颜色 用 法: int far getbkcolor(void); 程序例:
#include <graphics.h> #include <stdlib.h> #include <string.h> #include <stdio.h> #include <conio.h>
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int bkcolor, midx, midy; char bkname[35];
/* 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); }
midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor());
/* for centering text on the display */ settextjustify(CENTER_TEXT, CENTER_TEXT);
/* get the current background color */ bkcolor = getbkcolor();
/* convert color value into a string */ itoa(bkcolor, bkname, 10); strcat(bkname, " is the current background color.");
/* display a message */ outtextxy(midx, midy, bkname);
/* clean up */ getch(); closegraph(); return 0; }
函数名: getc 功 能: 从流中取字符 用 法: int getc(FILE *stream); 程序例:
#include <stdio.h>
int main(void) { char ch;
printf("Input a character:"); /* read a character from the standard input stream */ ch = getc(stdin); printf("The character input was: '%c'\n", ch); return 0; }
函数名: getcbrk 功 能: 获取Control_break设置 用 法: int getcbrk(void); 程序例:
#include <stdio.h> #include <dos.h>
int main(void) { if (getcbrk()) printf("Cntrl-brk flag is on\n"); else printf("Cntrl-brk flag is off\n");
return 0; }
函数名: getch 功 能: 从控制台无回显地取一个字符 用 法: int getch(void); 程序例:
#include <stdio.h> #include <conio.h>
int main(void) { char ch;
printf("Input a character:"); ch = getche(); printf("\nYou input a '%c'\n", ch); return 0; }
函数名: getchar 功 能: 从stdin流中读字符 用 法: int getchar(void); 程序例:
#include <stdio.h>
int main(void) { int c;
/* Note that getchar reads from stdin and is line buffered; this means it will not return until you press ENTER. */
while ((c = getchar()) != '\n') printf("%c", c);
return 0; }
函数名: getche 功 能: 从控制台取字符(带回显) 用 法: int getche(void); 程序例:
#include <stdio.h> #include <conio.h>
int main(void) { char ch;
printf("Input a character:"); ch = getche(); printf("\nYou input a '%c'\n", ch); return 0; }
函数名: getcolor 功 能: 返回当前画线颜色 用 法: int far getcolor(void); 程序例:
#include <graphics.h> #include <stdlib.h> #include <string.h> #include <stdio.h> #include <conio.h>
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int color, midx, midy; char colname[35];
/* 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); }
midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor());
/* for centering text on the display */ settextjustify(CENTER_TEXT, CENTER_TEXT);
/* get the current drawing color */ color = getcolor();
/* convert color value into a string */ itoa(color, colname, 10); strcat(colname, " is the current drawing color.");
/* display a message */ outtextxy(midx, midy, colname);
/* clean up */ getch(); closegraph(); return 0; }
函数名: getcurdir 功 能: 取指定驱动器的当前目录 用 法: int getcurdir(int drive, char *direc); 程序例:
#include <dir.h> #include <stdio.h> #include <string.h>
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); 程序例:
#include <stdio.h> #include <dir.h>
int main(void) { char buffer[MAXPATH];
getcwd(buffer, MAXPATH); printf("The current directory is: %s\n", buffer); return 0; }
|