C语言库函数大全及应用实例六
函數名: getlinesettings
功 能: 取當前線型、模式和寬度
用 法: void far getlinesettings(struct linesettingstype far *lininfo):
程序例: <?xml:namespace prefix="o" ns="urn:schemas-microsoft-com:office:office"?>
#i nclude 
#i nclude 
#i nclude 
#i nclude 
/* the names of the line styles supported */ 
char *lname[] = { "SOLID_LINE", 
"DOTTED_LINE", 
"CENTER_LINE", 
"DASHED_LINE", 
"USERBIT_LINE" 
}; 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
struct linesettingstype lineinfo; 
int midx, midy; 
char lstyle[80], lpattern[80], lwidth[80]; 
/* 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 line settings */ 
getlinesettings(&lineinfo); 
/* convert line information into strings */ 
sprintf(lstyle, "%s is the line style.", 
lname[lineinfo.linestyle]); 
sprintf(lpattern, "0x%X is the user-defined line pattern.", 
lineinfo.upattern); 
sprintf(lwidth, "%d is the line thickness.", 
lineinfo.thickness); 
/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, lstyle); 
outtextxy(midx, midy+2*textheight("W"), lpattern); 
outtextxy(midx, midy+4*textheight("W"), lwidth); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: getmaxcolor 
功 能: 返回可以傳給函數setcolor的最大顏色值 
用 法: int far getmaxcolor(void); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int midx, midy; 
char colstr[80]; 
/* 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; 
/* grab the color info. and convert it to a string */ 
sprintf(colstr, "This mode supports colors 0..%d", getmaxcolor()); 
/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, colstr); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: getmaxx 
功 能: 返回屏幕的最大x坐標 
用 法: int far getmaxx(void); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int midx, midy; 
char xrange[80], yrange[80]; 
/* 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; 
/* convert max resolution values into strings */ 
sprintf(xrange, "X values range from 0..%d", getmaxx()); 
sprintf(yrange, "Y values range from 0..%d", getmaxy()); 
/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, xrange); 
outtextxy(midx, midy+textheight("W"), yrange); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: getmaxy 
功 能: 返回屏幕的最大y坐標 
用 法: int far getmaxy(void); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int midx, midy; 
char xrange[80], yrange[80]; 
/* 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; 
/* convert max resolution values into strings */ 
sprintf(xrange, "X values range from 0..%d", getmaxx()); 
sprintf(yrange, "Y values range from 0..%d", getmaxy()); 
/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, xrange); 
outtextxy(midx, midy+textheight("W"), yrange); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: getmodename 
功 能: 返回含有指定圖形模式名的字符串指針 
用 法: char *far getmodename(int mode_name); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request autodetection */ 
int gdriver = DETECT, gmode, errorcode; 
int midx, midy, mode; 
char numname[80], modename[80]; 
/* 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 mode number and name strings */ 
mode = getgraphmode(); 
sprintf(numname, "%d is the current mode number.", mode); 
sprintf(modename, "%s is the current graphics mode.", getmodename(mode)); 
/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, numname); 
outtextxy(midx, midy+2*textheight("W"), modename); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: getmoderange 
功 能: 取給定圖形驅動程序的模式范圍 
用 法: void far getmoderange(int graphdriver, int far *lomode, 
int far *himode); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int midx, midy; 
int low, high; 
char mrange[80]; 
/* 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 the mode range for this driver */ 
getmoderange(gdriver, &low, &high); 
/* convert mode range info. into strings */ 
sprintf(mrange, "This driver supports modes %d..%d", low, high); 
/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, mrange); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: getpalette 
功 能: 返回有關當前調色板的信息 
用 法: void far getpalette(struct palettetype far *palette); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
struct palettetype pal; 
char psize[80], pval[20]; 
int i, ht; 
int y = 10; 
/* 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); 
} 
/* grab a copy of the palette */ 
getpalette(&pal); 
/* convert palette info. into strings */ 
sprintf(psize, "The palette has %d \ 
modifiable entries.", pal.size); 
/* display the information */ 
outtextxy(0, y, psize); 
if (pal.size != 0) 
{ 
ht = textheight("W"); 
y += 2*ht; 
outtextxy(0, y, "Here are the current \ 
values:"); 
y += 2*ht; 
for (i=0; i
{ 
sprintf(pval, 
"palette[%02d]: 0x%02X", i, 
pal.colors[i]); 
outtextxy(0, y, pval); 
} 
} 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: getpass 
功 能: 讀一個口令 
用 法: char *getpass(char *prompt); 
程序例: 
#i nclude
int main(void) 
{ 
char *password; 
password = getpass("Input a password:"); 
cprintf("The password is: %s\r\n", 
password); 
return 0; 
} 
函數名: getpixel 
功 能: 取得指定像素的顏色 
用 法: int far getpixel(int x, int y); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
#define PIXEL_COUNT 1000 
#define DELAY_TIME 100 /* in milliseconds */ 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int i, x, y, color, maxx, maxy, 
maxcolor, seed; 
/* 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); 
} 
maxx = getmaxx() + 1; 
maxy = getmaxy() + 1; 
maxcolor = getmaxcolor() + 1; 
while (!kbhit()) 
{ 
/* seed the random number generator */ 
seed = random(32767); 
srand(seed); 
for (i=0; i
{ 
x = random(maxx); 
y = random(maxy); 
color = random(maxcolor); 
putpixel(x, y, color); 
} 
delay(DELAY_TIME); 
srand(seed); 
for (i=0; i
{ 
x = random(maxx); 
y = random(maxy); 
color = random(maxcolor); 
if (color == getpixel) 
函數名: gets 
功 能: 從流中取一字符串 
用 法: char *gets(char *string); 
程序例: 
#i nclude
int main(void) 
{ 
char string[80]; 
printf("Input a string:"); 
gets(string); 
printf("The string input was: %s\n", 
string); 
return 0; 
} 
函數名: gettext 
功 能: 將文本方式屏幕上的文本拷貝到存儲區 
用 法: int gettext(int left, int top, int right, int bottom, void *destin); 
程序例: 
#i nclude
char buffer[4096];
int main(void) 
{ 
int i; 
clrscr(); 
for (i = 0; i <= 20; i++) 
cprintf("Line #%d\r\n", i); 
gettext(1, 1, 80, 25, buffer); 
gotoxy(1, 25); 
cprintf("Press any key to clear screen..."); 
getch(); 
clrscr(); 
gotoxy(1, 25); 
cprintf("Press any key to restore screen..."); 
getch(); 
puttext(1, 1, 80, 25, buffer); 
gotoxy(1, 25); 
cprintf("Press any key to quit..."); 
getch(); 
return 0; 
} 
函數名: gettextinfo 
功 能: 取得文本模式的顯示信息 
用 法: void gettextinfo(struct text_info *inforec); 
程序例: 
#i nclude
int main(void) 
{ 
struct text_info ti; 
gettextinfo(&ti); 
cprintf("window left %2d\r\n",ti.winleft); 
cprintf("window top %2d\r\n",ti.wintop); 
cprintf("window right %2d\r\n",ti.winright); 
cprintf("window bottom %2d\r\n",ti.winbottom); 
cprintf("attribute %2d\r\n",ti.attribute); 
cprintf("normal attribute %2d\r\n",ti.normattr); 
cprintf("current mode %2d\r\n",ti.currmode); 
cprintf("screen height %2d\r\n",ti.screenheight); 
cprintf("screen width %2d\r\n",ti.screenwidth); 
cprintf("current x %2d\r\n",ti.curx); 
cprintf("current y %2d\r\n",ti.cury); 
return 0; 
} 
函數名: gettextsettings 
功 能: 返回有關當前圖形文本字體的信息 
用 法: void far gettextsettings(struct textsettingstype far *textinfo); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
/* the names of the fonts supported */ 
char *font[] = { "DEFAULT_FONT", 
"TRIPLEX_FONT", 
"***ALL_FONT", 
"SANS_SERIF_FONT", 
"GOTHIC_FONT" 
}; 
/* the names of the text directions supported */ 
char *dir[] = { "HORIZ_DIR", "VERT_DIR" }; 
/* horizontal text justifications supported */ 
char *hjust[] = { "LEFT_TEXT", "CENTER_TEXT", "RIGHT_TEXT" }; 
/* vertical text justifications supported */ 
char *vjust[] = { "BOTTOM_TEXT", "CENTER_TEXT", "TOP_TEXT" }; 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
struct textsettingstype textinfo; 
int midx, midy, ht; 
char fontstr[80], dirstr[80], sizestr[80]; 
char hjuststr[80], vjuststr[80]; 
/* 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 text settings */ 
gettextsettings(&textinfo); 
/* convert text information into strings */ 
sprintf(fontstr, "%s is the text style.", font[textinfo.font]); 
sprintf(dirstr, "%s is the text direction.", dir[textinfo.direction]); 
sprintf(sizestr, "%d is the text size.", textinfo.charsize); 
sprintf(hjuststr, "%s is the horizontal justification.", 
hjust[textinfo.horiz]); 
sprintf(vjuststr, "%s is the vertical justification.", 
vjust[textinfo.vert]); 
/* display the information */ 
ht = textheight("W"); 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, fontstr); 
outtextxy(midx, midy+2*ht, dirstr); 
outtextxy(midx, midy+4*ht, sizestr); 
outtextxy(midx, midy+6*ht, hjuststr); 
outtextxy(midx, midy+8*ht, vjuststr); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函數名: gettime 
功 能: 取得系統時間 
用 法: void gettime(struct time *timep); 
程序例: 
#i nclude 
#i nclude 
int main(void) 
{ 
struct time t; 
gettime(&t); 
printf("The current time is: %2d:%02d:%02d.%02d\n", 
t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund); 
return 0; 
} 
函數名: getvect 
功 能: 取得中斷向量入口 
用 法: void interrupt(*getvect(int intr_num)); 
程序例: 
#i nclude 
#i nclude 
void interrupt get_out(); /* interrupt prototype */
void interrupt (*oldfunc)(); /* interrupt function pointer */ 
int looping = 1; 
int main(void) 
{ 
puts("Press to terminate"); 
/* save the old interrupt */ 
oldfunc = getvect(5); 
/* install interrupt handler */ 
setvect(5,get_out); 
/* do nothing */ 
while (looping); 
/* restore to original interrupt routine */ 
setvect(5,oldfunc); 
puts("Success"); 
return 0; 
} 
void interrupt get_out() 
{ 
looping = 0; /* change global variable to get out of loop */ 
} 
函數名: getverify 
功 能: 返回DOS校驗標志狀態 
用 法: int getverify(void); 
程序例: 
#i nclude 
#i nclude 
int main(void) 
{ 
if (getverify()) 
printf("DOS verify flag is on\n"); 
else 
printf("DOS verify flag is off\n"); 
return 0; 
} 
函數名: getviewsetting 
功 能: 返回有關當前視區的信息 
用 法: void far getviewsettings(struct viewporttype far *viewport); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
char *clip[] = { "OFF", "ON" };
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
struct viewporttype viewinfo; 
int midx, midy, ht; 
char topstr[80], botstr[80], clipstr[80]; 
/* 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 viewport */ 
getviewsettings(&viewinfo); 
/* convert text information into strings */ 
sprintf(topstr, "(%d, %d) is the upper left viewport corner.", 
viewinfo.left, viewinfo.top); 
sprintf(botstr, "(%d, %d) is the lower right viewport corner.", 
viewinfo.right, viewinfo.bottom); 
sprintf(clipstr, "Clipping is turned %s.", clip[viewinfo.clip]); 
/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
ht = textheight("W"); 
outtextxy(midx, midy, topstr); 
outtextxy(midx, midy+2*ht, botstr); 
outtextxy(midx, midy+4*ht, clipstr); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
轉載于:https://www.cnblogs.com/lonelyxmas/p/4158956.html
總結
以上是生活随笔為你收集整理的C语言库函数大全及应用实例六的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Qt5下载与安装(Windows版)
- 下一篇: 如何用安卓手机运行Python代码
