码迷,mamicode.com
首页 > 其他好文 > 详细

G.xml

时间:2014-10-18 13:59:53      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:des   style   http   color   io   os   ar   使用   for   

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

函数名:?getdate?

功??能:?取DOS日期?

用??法:?void?getdate(struct?*dateblk);?

程序例:?

#include?<dos.h>?
#include?<stdio.h>?
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);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
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[i]);?
??????getch();?
???}?
/*?clean?up?*/?
???getch();?
???closegraph();?
???return?0;?
}?
??
??

函数名:?getdisk?

功??能:?取当前磁盘驱动器号?

用??法:?int?getdisk(void);?

程序例:?

#include?<stdio.h>?
#include?<dir.h>?
int?main(void)?
{?
???int?disk;?
???disk?=?getdisk()?+?‘A‘;?
???printf("The?current?drive?is:?%c\n",?
????disk);?
???return?0;?
}?
??
??
??

函数名:?getdrivername?

功??能:?返回指向包含当前图形驱动程序名字的字符串指针?

用??法:?char?*getdrivename(void);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
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);?

程序例:?

#include?<dos.h>?
#include?<stdio.h>?
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);?

程序例:?

#include?<stdlib.h>?
#include?<stdio.h>?
??
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);?

程序例:?

#include?<stdio.h>?
#include?<dos.h>?
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);?

程序例:?

#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;?
???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);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
/??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);?

程序例:?

#include?<stdio.h>?
#include?<io.h>?
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;?
}?
??
??
??

函数名:?getgraphmode?

功??能:?返回当前图形模式?

用??法:?int?far?getgraphmode(void);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
int?main(void)?
{?
/*?request?auto?detection?*/?
???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();?
/*?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;?
/*?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;?
}?
??
??

函数名:?getimage?

功??能:?将指定区域的一个位图存到主存中?

用??法:?void?far?getimage(int?left,?int?top,?int?right,?int?bottom,?

?????void?far?*bitmap);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
#include?<alloc.h>?
void?save_screen(void?far?*buf[4]);?
void?restore_screen(void?far?*buf[4]);?
int?maxx,?maxy;?
int?main(void)?
{?
???int?gdriver=DETECT,?gmode,?errorcode;?
???void?far?*ptr[4];?
???/*?auto-detect?the?graphics?driver?and?mode?*/?
???initgraph(&gdriver,?&gmode,?"");?
???errorcode?=?graphresult();?/*?check?for?any?errors?*/?
???if?(errorcode?!=?grOk)?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?
???}?
???maxx?=?getmaxx();?
???maxy?=?getmaxy();?
???/*?draw?an?image?on?the?screen?*/?
???rectangle(0,?0,?maxx,?maxy);?
???line(0,?0,?maxx,?maxy);?
???line(0,?maxy,?maxx,?0);?
???save_screen(ptr);????/*?save?the?current?screen?*/?
???getch();?????????????/*?pause?screen?*/?
???cleardevice();???????/*?clear?screen?*/?
???restore_screen(ptr);?/*?restore?the?screen?*/?
???getch();?????????????/*?pause?screen?*/?
???closegraph();?
???return?0;?
}?
void?save_screen(void?far?*buf[4])?
{?
???unsigned?size;?
???int?ystart=0,?yend,?yincr,?block;?
???yincr?=?(maxy+1)?/?4;?
???yend?=?yincr;?
???size?=?imagesize(0,?ystart,?maxx,?yend);?/*?get?byte?size?of?image?*/?
???for?(block=0;?block<=3;?block++)?
???{?
??????if?((buf[block]?=?farmalloc(size))?==?NULL)?
??????{?
?????????closegraph();?
?????????printf("Error:?not?enough?heap?space?in?save_screen().\n");?
??exit(1);?
??????}?
??????getimage(0,?ystart,?maxx,?yend,?buf[block]);?
??????ystart?=?yend?+?1;?
??????yend?+=?yincr?+?1;?
???}?
}?
void?save_screen(void?far?*buf[4])?
{?
???unsigned?size;?
???int?ystart=0,?yend,?yincr,?block;?
???yincr?=?(maxy+1)?/?4;?
???yend?=?yincr;?
???size?=?imagesize(0,?ystart,?maxx,?yend);?/*?get?byte?size?of?image?*/?
???for?(block=0;?block<=3;?block++)?
???{?
??????if?((buf[block]?=?farmalloc(size))?==?NULL)?
??????{?
?????????closegraph();?
?????????printf("Error:?not?enough?heap?space?in?save_screen().\n");?
??exit(1);?
??????}?
??????getimage(0,?ystart,?maxx,?yend,?buf[block]);?
??????ystart?=?yend?+?1;?
??????yend?+=?yincr?+?1;?
???}?
}?
void?restore_screen(void?far?*buf[4])?
{?
???int?ystart=0,?yend,?yincr,?block;?
???yincr?=?(maxy+1)?/?4;?
???yend?=?yincr;?
???for?(block=0;?block<=3;?block++)?
???{?
??????putimage(0,?ystart,?buf[block],?COPY_PUT);?
??????farfree(buf[block]);?
??????ystart?=?yend?+?1;?
??????yend?+=?yincr?+?1;?
???}?
}?
??
??

函数名:?getlinesettings?

功??能:?取当前线型、模式和宽度?

用??法:?void?far?getlinesettings(struct?linesettingstype?far?*lininfo):?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
/*?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);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
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);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
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);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
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);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
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);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
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?*/?
??

本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。

G.xml

标签:des   style   http   color   io   os   ar   使用   for   

原文地址:http://www.cnblogs.com/shuilan0066/p/4032939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!