pre{
border-style:solid;border-width:1px;border-color:#000;line-height:1;
color:#3c65d1;
background-color:#1e1e1e;
font-size:16px;}.sysFunc{color:#2d8000;font-style:italic;font-weight:bold;}
.selfFuc{color:#f3e191;}
.bool{color:#f6ac77;}
.condition{color:#008080;font-weight:bold;}
.key{color:#ffc057;}
.var{color:#61afba;font-style:italic;}
.Digit{color:#008000;font-weight:bold;}
.includePre{color:#3c65d1;}
.operator_D{color:#ff00ff;font-weight:bold;}
.operator_X{color:#65ec0f;font-weight:bold;}
函数名:?sbrk?
功??能:?改变数据段空间位置?
用??法:?char?*sbrk(int?incr);?
程序例:?
#include?<stdio.h>? #include?<alloc.h>? int?main(void)? {? ???printf("Changing?allocation?with?sbrk()\n");? ???printf("Before?sbrk()?call:?%lu?bytes?free\n",? ???(unsigned?long)?coreleft());? ???sbrk(1000);? ???printf("?After?sbrk()?call:?%lu?bytes?free\n",? ???(unsigned?long)?coreleft());? ???return?0;? }? ?? ??
函数名:?scanf?
功??能:?执行格式化输入?
用??法:?int?scanf(char?*format[,argument,...]);?
程序例:?
#include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???char?label[20];? ???char?name[20];? ???int?entries?=?0;? ???int?loop,?age;? ???double?salary;? ???struct?Entry_struct? ???{? ??????char??name[20];? ??????int???age;? ??????float?salary;? ???}?entry[20];? /*?Input?a?label?as?a?string?of?characters?restricting?to?20?characters?*/? ???printf("\n\nPlease?enter?a?label?for?the?chart:?");? ???scanf("%20s",?label);? ???fflush(stdin);??/*?flush?the?input?stream?in?case?of?bad?input?*/? /*?Input?number?of?entries?as?an?integer?*/? ???printf("How?many?entries?will?there?be??(less?than?20)?");? ???scanf("%d",?&entries);? ???fflush(stdin);???/*?flush?the?input?stream?in?case?of?bad?input?*/? /*?input?a?name?restricting?input?to?only?letters?upper?or?lower?case?*/? ???for?(loop=0;loop<entries;++loop)? ???{? ??????printf("Entry?%d\n",?loop);? ??????printf("??Name???:?");? ??????scanf("%[A-Za-z]",?entry[loop].name);? ??????fflush(stdin);??/*?flush?the?input?stream?in?case?of?bad?input?*/? /*?input?an?age?as?an?integer?*/? ??????printf("??Age????:?");? ??????scanf("%d",?&entry[loop].age);? ??????fflush(stdin);??/*?flush?the?input?stream?in?case?of?bad?input?*/? /*?input?a?salary?as?a?float?*/? ??????printf("??Salary?:?");? ??????scanf("%f",?&entry[loop].salary);? ??????fflush(stdin);?/*?flush?the?input?stream?in?case?of?bad?input?*/? ???}? /*?Input?a?name,?age?and?salary?as?a?string,?integer,?and?double?*/? ???printf("\nPlease?enter?your?name,?age?and?salary\n");? ???scanf("%20s?%d?%lf",?name,?&age,?&salary);? ?? /*?Print?out?the?data?that?was?input?*/? ???printf("\n\nTable?%s\n",label);? ???printf("Compiled?by?%s??age?%d??$%15.2lf\n",?name,?age,?salary);? ???printf("-----------------------------------------------------\n");? ???for?(loop=0;loop<entries;++loop)? ??????printf("%4d?|?%-20s?|?%5d?|?%15.2lf\n",? ?????????loop?+?1,? ??entry[loop].name,? ??entry[loop].age,? ?????????entry[loop].salary);? ???printf("-----------------------------------------------------\n");? ???return?0;? }? ?? ??
函数名:?searchpath?
功??能:?搜索DOS路径?
用??法:?char?*searchpath(char?*filename);?
程序例:?
#include?<stdio.h>? #include?<dir.h>? int?main(void)? {? ???char?*p;? ???/*?Looks?for?TLINK?and?returns?a?pointer? ??????to?the?path??*/? ???p?=?searchpath("TLINK.EXE");? ???printf("Search?for?TLINK.EXE?:?%s\n",?p);? ???/*?Looks?for?non-existent?file??*/? ???p?=?searchpath("NOTEXIST.FIL");? ???printf("Search?for?NOTEXIST.FIL?:?%s\n",?p);? ???return?0;? }? ?? ??
函数名:?sector?
功??能:?画并填充椭圆扇区?
用??法:?void?far?sector(int?x,?int?y,?int?stangle,?int?endangle);?
程序例:?
#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,?i;? ???int?stangle?=?45,?endangle?=?135;? ???int?xrad?=?100,?yrad?=?50;? ???/*?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;? ???/*?loop?through?the?fill?patterns?*/? ???for?(i=EMPTY_FILL;?i<USER_FILL;?i++)? ???{? ??????/*?set?the?fill?style?*/? ??????setfillstyle(i,?getmaxcolor());? ??????/*?draw?the?sector?slice?*/? ??????sector(midx,?midy,?stangle,?endangle,?xrad,?yrad);? ??????getch();? ???}? ???/*?clean?up?*/? ???closegraph();? ???return?0;? }? ??
函数名:?segread?
功??能:?读段寄存器值?
用??法:?void?segread(struct?SREGS?*segtbl);?
程序例:?
#include?<stdio.h>? #include?<dos.h>? int?main(void)? {? ???struct?SREGS?segs;? ???segread(&segs);? ???printf("Current?segment?register?settings\n\n");? ???printf("CS:?%X???DS:?%X\n",?segs.cs,?segs.ds);? ???printf("ES:?%X???SS:?%X\n",?segs.es,?segs.ss);? ???return?0;? }? ?? ??
函数名:setactivepage?
功??能:?设置图形输出活动页?
用??法:?void?far?setactivepage(int?pagenum);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???/*?select?a?driver?and?mode?that?supports?*/? ???/*?multiple?pages.????????????????????????*/? ???int?gdriver?=?EGA,?gmode?=?EGAHI,?errorcode;? ???int?x,?y,?ht;? ???/*?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?*/? ???}? ???x?=?getmaxx()?/?2;? ???y?=?getmaxy()?/?2;? ???ht?=?textheight("W");? ???/*??select?the?off?screen?page?for?drawing?*/? ???setactivepage(1);? ???/*?draw?a?line?on?page?#1?*/? ???line(0,?0,?getmaxx(),?getmaxy());? ???/*?output?a?message?on?page?#1?*/? ???settextjustify(CENTER_TEXT,?CENTER_TEXT);? ???outtextxy(x,?y,?"This?is?page?#1:");? ???outtextxy(x,?y+ht,?"Press?any?key?to?halt:");? ???/*?select?drawing?to?page?#0?*/? ???setactivepage(0);? ???/*?output?a?message??on?page?#0?*/? ???outtextxy(x,?y,?"This?is?page?#0.");? ???outtextxy(x,?y+ht,?"Press?any?key?to?view?page?#1:");? ???getch();? ???/*?select?page?#1?as?the?visible?page?*/? ???setvisualpage(1);? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setallpallette?
功??能:?按指定方式改变所有的调色板颜色?
用??法:?void?far?setallpallette(struct?palette,?far?*pallette);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???/*?request?auto?detection?*/? ???int?gdriver?=?DETECT,?gmode,?errorcode;? ???struct?palettetype?pal;? ???int?color,?maxcolor,?ht;? ???int?y?=?10;? ???char?msg[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?*/? ???}? ???maxcolor?=?getmaxcolor();? ???ht?=?2?*?textheight("W");? ???/*?grab?a?copy?of?the?palette?*/? ???getpalette(&pal);? ???/*?display?the?default?palette?colors?*/? ???for?(color=1;?color<=maxcolor;?color++)? ???{? ??????setcolor(color);? ??????sprintf(msg,?"Color:?%d",?color);? ??????outtextxy(1,?y,?msg);? ??????y?+=?ht;? ???}? ???/*?wait?for?a?key?*/? ???getch();? ???/*?black?out?the?colors?one?by?one?*/? ???for?(color=1;?color<=maxcolor;?color++)? ???{? ??????setpalette(color,?BLACK);? ??????getch();? ???}? ???/*?restore?the?palette?colors?*/? ???setallpalette(&pal);? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setaspectratio?
功??能:?设置图形纵横比?
用??法:?void?far?setaspectratio(int?xasp,?int?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();? ???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;? ???setcolor(getmaxcolor());? ???/*?get?current?aspect?ratio?settings?*/? ???getaspectratio(&xasp,?&yasp);? ???/*?draw?normal?circle?*/? ???circle(midx,?midy,?100);? ???getch();? ???/*?claer?the?screen?*/? ???cleardevice();? ???/*?adjust?the?aspect?for?a?wide?circle?*/? ???setaspectratio(xasp/2,?yasp);? ???circle(midx,?midy,?100);? ???getch();? ???/*?adjust?the?aspect?for?a?narrow?circle?*/? ???cleardevice();? ???setaspectratio(xasp,?yasp/2);? ???circle(midx,?midy,?100);? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setbkcolor?
功??能:?用调色板设置当前背景颜色?
用??法:?void?far?setbkcolor(int?color);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???/*?select?a?driver?and?mode?that?supports?*/? ???/*?multiple?background?colors.????????????*/? ???int?gdriver?=?EGA,?gmode?=?EGAHI,?errorcode;? ???int?bkcol,?maxcolor,?x,?y;? ???char?msg[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?*/? ???}? ???/*?maximum?color?index?supported?*/? ???maxcolor?=?getmaxcolor();? ???/*?for?centering?text?messages?*/? ???settextjustify(CENTER_TEXT,?CENTER_TEXT);? ???x?=?getmaxx()?/?2;? ???y?=?getmaxy()?/?2;? ???/*?loop?through?the?available?colors?*/? ???for?(bkcol=0;?bkcol<=maxcolor;?bkcol++)? ???{? ??????/*?clear?the?screen?*/? ??????cleardevice();? ??????/*?select?a?new?background?color?*/? ??????setbkcolor(bkcol);? ??????/*?output?a?messsage?*/? ??????if?(bkcol?==?WHITE)? ??setcolor(EGA_BLUE);? ??????sprintf(msg,?"Background?color:?%d",?bkcol);? ??????outtextxy(x,?y,?msg);? ??????getch();? ???}? ???/*?clean?up?*/? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setblock?
功??能:?修改先前已分配的DOS存储段大小?
用??法:?int?setblock(int?seg,?int?newsize);?
程序例:?
#include?<dos.h>? #include?<alloc.h>? #include?<stdio.h>? #include?<stdlib.h>? int?main(void)? {? ???unsigned?int?size,?segp;? ???int?stat;? ???size?=?64;?/*?(64?x?16)?=?1024?bytes?*/? ???stat?=?allocmem(size,?&segp);? ???if?(stat?==?-1)? ??????printf("Allocated?memory?at?segment:?%X\n",?segp);? ???else? ???{? ??????printf("Failed:?maximum?number?of?paragraphs?available?is?%d\n",? ??????stat);? ??????exit(1);? ???}? ???stat?=?setblock(segp,?size?*?2);? ???if?(stat?==?-1)? ??????printf("Expanded?memory?block?at?segment:?%X\n",?segp);? ???else? ??????printf("Failed:?maximum?number?of?paragraphs?available?is?%d\n",? ?????????????stat);? ???freemem(segp);? ???return?0;? }? ?? ??
函数名:?setbuf?
功??能:?把缓冲区与流相联?
用??法:?void?setbuf(FILE?*steam,?char?*buf);?
程序例:?
#include?<stdio.h>? /*?BUFSIZ?is?defined?in?stdio.h?*/? char?outbuf[BUFSIZ];? int?main(void)? {? ???/*?attach?a?buffer?to?the?standard?output?stream?*/? ???setbuf(stdout,?outbuf);? ???/*?put?some?characters?into?the?buffer?*/? ???puts("This?is?a?test?of?buffered?output.\n\n");? ???puts("This?output?will?go?into?outbuf\n");? ???puts("and?won‘t?appear?until?the?buffer\n");? ???puts("fills?up?or?we?flush?the?stream.\n");? ???/*?flush?the?output?buffer?*/? ???fflush(stdout);? ???return?0;? }? ?? ??
函数名:?setcbrk?
功??能:?设置Control-break?
用??法:?int?setcbrk(int?value);?
程序例:?
#include?<dos.h>? #include?<conio.h>? #include?<stdio.h>? int?main(void)? {? ???int?break_flag;? ???printf("Enter?0?to?turn?control?break?off\n");? ???printf("Enter?1?to?turn?control?break?on\n");? ???break_flag?=?getch()?-?0;? ???setcbrk(break_flag);? ???if?(getcbrk())? ??????printf("Cntrl-brk?flag?is?on\n");? ???else? ??????printf("Cntrl-brk?flag?is?off\n");? ???return?0;? }? ?? ?? ??
函数名:?setcolor?
功??能:?设置当前画线颜色?
用??法:?void?far?setcolor(int?color);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???/*?select?a?driver?and?mode?that?supports?*/? ???/*?multiple?drawing?colors.???????????????*/? ???int?gdriver?=?EGA,?gmode?=?EGAHI,?errorcode;? ???int?color,?maxcolor,?x,?y;? ???char?msg[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?*/? ???}? ???/*?maximum?color?index?supported?*/? ???maxcolor?=?getmaxcolor();? ???/*?for?centering?text?messages?*/? ???settextjustify(CENTER_TEXT,?CENTER_TEXT);? ???x?=?getmaxx()?/?2;? ???y?=?getmaxy()?/?2;? ???/*?loop?through?the?available?colors?*/? ???for?(color=1;?color<=maxcolor;?color++)? ???{? ??????/*?clear?the?screen?*/? ??????cleardevice();? ??????/*?select?a?new?background?color?*/? ??????setcolor(color);? ??????/*?output?a?messsage?*/? ??????sprintf(msg,?"Color:?%d",?color);? ??????outtextxy(x,?y,?msg);? ??????getch();? ???}? ???/*?clean?up?*/? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setdate?
功??能:?设置DOS日期?
用??法:?void?setdate(struct?date?*dateblk);?
程序例:?
#include?<stdio.h>? #include?<process.h>? #include?<dos.h>? int?main(void)? {? ???struct?date?reset;? ???struct?date?save_date;? ???getdate(&save_date);? ???printf("Original?date:\n");? ???system("date");? ???reset.da_year?=?2001;? ???reset.da_day?=?1;? ???reset.da_mon?=?1;? ???setdate(&reset);? ???printf("Date?after?setting:\n");? ???system("date");? ???setdate(&save_date);? ???printf("Back?to?original?date:\n");? ???system("date");? ???return?0;? }? ?? ??
函数名:?setdisk?
功??能:?设置当前磁盘驱动器?
用??法:?int?setdisk(int?drive);?
程序例:?
#include?<stdio.h>? #include?<dir.h>? int?main(void)? {? ???int?save,?disk,?disks;? ???/*?save?original?drive?*/? ???save?=?getdisk();? ???/*?print?number?of?logic?drives?*/? ???disks?=?setdisk(save);? ???printf("%d?logical?drives?on?the?system\n\n",?disks);? ???/*?print?the?drive?letters?available?*/? ???printf("Available?drives:\n");? ???for?(disk?=?0;disk?<?26;++disk)? ???{? ??????setdisk(disk);? ??????if?(disk?==?getdisk())? ?????????printf("%c:?drive?is?available\n",?disk?+?‘a‘);? ???}? ???setdisk(save);? ???return?0;? }? ?? ??
函数名:?setdta?
功??能:?设置磁盘传输区地址?
用??法:?void?setdta(char?far?*dta);?
程序例:?
#include?<process.h>? #include?<string.h>? #include?<stdio.h>? #include?<dos.h>? int?main(void)? {? ???char?line[80],?far?*save_dta;? ???char?buffer[256]?=?"SETDTA?test!";? ???struct?fcb?blk;? ???int?result;? ???/*?get?new?file?name?from?user?*/? ???printf("Enter?a?file?name?to?create:");? ???gets(line);? ???/*?parse?the?new?file?name?to?the?dta?*/? ???parsfnm(line,?&blk,?1);? ???printf("%d?%s\n",?blk.fcb_drive,?blk.fcb_name);? ???/*?request?DOS?services?to?create?file?*/? ???if?(bdosptr(0x16,?&blk,?0)?==?-1)? ???{? ??????perror("Error?creating?file");? ??????exit(1);? ???}? ???/*?save?old?dta?and?set?new?dta?*/? ???save_dta?=?getdta();? ???setdta(buffer);? ???/*?write?new?records?*/? ???blk.fcb_recsize?=?256;? ???blk.fcb_random?=?0L;? ???result?=?randbwr(&blk,?1);? ???printf("result?=?%d\n",?result);? ???if?(!result)? ??????printf("Write?OK\n");? ???else? ???{? ??????perror("Disk?error");? ??????exit(1);? ???}? ???/*?request?DOS?services?to?close?the?file?*/? ???if?(bdosptr(0x10,?&blk,?0)?==?-1)? ???{? ??????perror("Error?closing?file");? ??????exit(1);? ???}? ???/*?reset?the?old?dta?*/? ???setdta(save_dta);? ???return?0;? }? ?? ??
函数名:?setfillpattern?
功??能:?选择用户定义的填充模式?
用??法:?void?far?setfillpattern(char?far?*upattern,?int?color);?
程序例:?
#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;? ???/*?a?user?defined?fill?pattern?*/? ???char?pattern[8]?=?{0x00,?0x70,?0x20,?0x27,?0x24,?0x24,?0x07,?0x00};? ???/*?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);? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setfillstyle?
功??能:?设置填充模式和颜色?
用??法:?void?far?setfillstyle(int?pattern,?int?color);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<string.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;? ???int?style,?midx,?midy;? ???char?stylestr[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;? ???for?(style?=?EMPTY_FILL;?style?<?USER_FILL;?style++)? ???{? ??????/*?select?the?fill?style?*/? ??????setfillstyle(style,?getmaxcolor());? ??????/*?convert?style?into?a?string?*/? ??????strcpy(stylestr,?fname[style]);? ??????/*?fill?a?bar?*/? ??????bar3d(0,?0,?midx-10,?midy,?0,?0);? ??????/*?output?a?message?*/? ??????outtextxy(midx,?midy,?stylestr);? ??????/*?wait?for?a?key?*/? ??????getch();? ??????cleardevice();? ???}? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setftime?
功??能:?设置文件日期和时间?
用??法:?int?setftime(int?handle,?struct?ftime?*ftimep);?
程序例:?
#include?<stdio.h>? #include?<process.h>? #include?<fcntl.h>? #include?<io.h>? int?main(void)? {? ???struct?ftime?filet;? ???FILE?*fp;? ???if?((fp?=?fopen("TEST.$$$",?"w"))?==?NULL)? ???{? ??????perror("Error:");? ??????exit(1);? ???}? ???fprintf(fp,?"testing...\n");? ???/*?load?ftime?structure?with?new?time?and?date?*/? ???filet.ft_tsec?=?1;? ???filet.ft_min?=?1;? ???filet.ft_hour?=?1;? ???filet.ft_day?=?1;? ???filet.ft_month?=?1;? ???filet.ft_year?=?21;? ???/*?show?current?directory?for?time?and?date?*/? ???system("dir?TEST.$$$");? ???/*?change?the?time?and?date?stamp*/? ???setftime(fileno(fp),?&filet);? ???/*?close?and?remove?the?temporary?file?*/? ???fclose(fp);? ???system("dir?TEST.$$$");? ???unlink("TEST.$$$");? ???return?0;? }? ?? ??
函数名:?setgraphbufsize?
功??能:?改变内部图形缓冲区的大小?
用??法:?unsigned?far?setgraphbufsize(unsigned?bufsize);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? #define?BUFSIZE?1000?/*?internal?graphics?buffer?size?*/? int?main(void)? {? ???/*?request?auto?detection?*/? ???int?gdriver?=?DETECT,?gmode,?errorcode;? ???int?x,?y,?oldsize;? ???char?msg[80];? ???/*?set?the?size?of?the?internal?graphics?buffer?*/? ???/*?before?making?a?call?to?initgraph.???????????*/? ???oldsize?=?setgraphbufsize(BUFSIZE);? ???/*?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?*/? ???}? ???x?=?getmaxx()?/?2;? ???y?=?getmaxy()?/?2;? ???/*?output?some?messages?*/? ???sprintf(msg,?"Graphics?buffer?size:?%d",?BUFSIZE);? ???settextjustify(CENTER_TEXT,?CENTER_TEXT);? ???outtextxy(x,?y,?msg);? ???sprintf(msg,?"Old?graphics?buffer?size:?%d",?oldsize);? ???outtextxy(x,?y+textheight("W"),?msg);? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ?? ??
函数名:?setgraphmode?
功??能:?将系统设置成图形模式且清屏?
用??法:?void?far?setgraphmode(int?mode);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???/*?request?auto?detection?*/? ???int?gdriver?=?DETECT,?gmode,?errorcode;? ???int?x,?y;? ???/*?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?*/? ???}? ???x?=?getmaxx()?/?2;? ???y?=?getmaxy()?/?2;? ???/*?output?a?message?*/? ???settextjustify(CENTER_TEXT,?CENTER_TEXT);? ???outtextxy(x,?y,?"Press?any?key?to?exit?graphics:");? ???getch();? ???/*?restore?system?to?text?mode?*/? ???restorecrtmode();? ???printf("We‘re?now?in?text?mode.\n");? ???printf("Press?any?key?to?return?to?graphics?mode:");? ???getch();? ???/*?return?to?graphics?mode?*/? ???setgraphmode(getgraphmode());? ???/*?output?a?message?*/? ???settextjustify(CENTER_TEXT,?CENTER_TEXT);? ???outtextxy(x,?y,?"We‘re?back?in?graphics?mode.");? ???outtextxy(x,?y+textheight("W"),?"Press?any?key?to?halt:");? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ?? ??
函数名:?setjmp?
功??能:?非局部转移?
用??法:?int?setjmp(jmp_buf?env);?
程序例:?
#include?<stdio.h>? #include?<process.h>? #include?<setjmp.h>? void?subroutine(void);? jmp_buf?jumper;? int?main(void)? {? ???int?value;? ???value?=?setjmp(jumper);? ???if?(value?!=?0)? ???{? ??????printf("Longjmp?with?value?%d\n",?value);? ??????exit(value);? ???}? ???printf("About?to?call?subroutine?...?\n");? ???subroutine();? ???return?0;? }? void?subroutine(void)? {? ???longjmp(jumper,1);? }? ?? ??
函数名:?setlinestyle?
功??能:?设置当前画线宽度和类型?
用??法:?void?far?setlinestyle(int?linestype,?unsigned?upattern);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<string.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;? ???int?style,?midx,?midy,?userpat;? ???char?stylestr[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;? ???/*?a?user?defined?line?pattern?*/? ???/*?binary:?"0000000000000001"??*/? ???userpat?=?1;? ???for?(style=SOLID_LINE;?style<=USERBIT_LINE;?style++)? ???{? ??????/*?select?the?line?style?*/? ??????setlinestyle(style,?userpat,?1);? ??????/*?convert?style?into?a?string?*/? ??????strcpy(stylestr,?lname[style]);? ??????/*?draw?a?line?*/? ??????line(0,?0,?midx-10,?midy);? ??????/*?draw?a?rectangle?*/? ??????rectangle(0,?0,?getmaxx(),?getmaxy());? ??????/*?output?a?message?*/? ??????outtextxy(midx,?midy,?stylestr);? ??????/*?wait?for?a?key?*/? ??????getch();? ??????cleardevice();? ???}? ???/*?clean?up?*/? ???closegraph();? ???return?0;? }? ?? ?? ??
函数名:?setmem?
功??能:?存值到存储区?
用??法:?void?setmem(void?*addr,?int?len,?char?value);?
程序例:?
#include?<stdio.h>? #include?<alloc.h>? #include?<mem.h>? int?main(void)? {? ???char?*dest;? ???dest?=?calloc(21,?sizeof(char));? ???setmem(dest,?20,?‘c‘);? ???printf("%s\n",?dest);? ???return?0;? }? ?? ?? ??
函数名:?setmode?
功??能:?设置打开文件方式?
用??法:?int?setmode(int?handle,?unsigned?mode);?
程序例:?
#include?<stdio.h>? #include?<fcntl.h>? #include?<io.h>? int?main(void)? {? ???int?result;? ???result?=?setmode(fileno(stdprn),?O_TEXT);? ???if?(result?==?-1)? ??????perror("Mode?not?available\n");? ???else? ??????printf("Mode?successfully?switched\n");? ???return?0;? }? ?? ?? ??
函数名:?setpalette?
功??能:?改变调色板的颜色?
用??法:?void?far?setpalette(int?index,?int?actural_color);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???/*?request?auto?detection?*/? ???int?gdriver?=?DETECT,?gmode,?errorcode;? ???int?color,?maxcolor,?ht;? ???int?y?=?10;? ???char?msg[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?*/? ???}? ???maxcolor?=?getmaxcolor();? ???ht?=?2?*?textheight("W");? ???/*?display?the?default?colors?*/? ???for?(color=1;?color<=maxcolor;?color++)? ???{? ??????setcolor(color);? ??????sprintf(msg,?"Color:?%d",?color);? ??????outtextxy(1,?y,?msg);? ??????y?+=?ht;? ???}? ???/*?wait?for?a?key?*/? ???getch();? ???/*?black?out?the?colors?one?by?one?*/? ???for?(color=1;?color<=maxcolor;?color++)? ???{? ??????setpalette(color,?BLACK);? ??????getch();? ???}? ???/*?clean?up?*/? ???closegraph();? ???return?0;? }? ?? ??
函数名:?setrgbpalette?
功??能:?定义IBM8514图形卡的颜色?
用??法:?void?far?setrgbpalette(int?colornum,?int?red,?int?green,?int?blue);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? int?main(void)? {? ???/*?select?a?driver?and?mode?that?supports?the?use?*/? ???/*?of?the?setrgbpalette?function.?????????????????*/? ???int?gdriver?=?VGA,?gmode?=?VGAHI,?errorcode;? ???struct?palettetype?pal;? ???int?i,?ht,?y,?xmax;? ???/*?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?*/? ???}? ???/*?grab?a?copy?of?the?palette?*/? ???getpalette(&pal);? ???/*?create?gray?scale?*/? ???for?(i=0;?i<pal.size;?i++)? ??????setrgbpalette(pal.colors[i],?i*4,?i*4,?i*4);? ???/*?display?the?gray?scale?*/? ???ht?=?getmaxy()?/?16;? ???xmax?=?getmaxx();? ???y?=?0;? ???for?(i=0;?i<pal.size;?i++)? ???{? ??????setfillstyle(SOLID_FILL,?i);? ??????bar(0,?y,?xmax,?y+ht);? ??????y?+=?ht;? ???}? ???/*?clean?up?*/? ???getch();? ???closegraph();? ???return?0;? }? ?? ?? ??
函数名:?settextjustify?
功??能:?为图形函数设置文本的对齐方式?
用??法:?void?far?settextjustify(int?horiz,?int?vert);?
程序例:?
#include?<graphics.h>? #include?<stdlib.h>? #include?<stdio.h>? #include?<conio.h>? /*?function?prototype?*/? void?xat(int?x,?int?y);? /*?horizontal?text?justification?settings?*/? char?*hjust[]?=?{?"LEFT_TEXT",? ??????????????????"CENTER_TEXT",? ??????????????????"RIGHT_TEXT"? ????????????????};? /*?vertical?text?justification?settings?*/? char?*vjust[]?=?{?"LEFT_TEXT",? ????"CENTER_TEXT",? ????"RIGHT_TEXT"? ????????????????};? int?main(void)? {? ???/*?request?auto?detection?*/? ???int?gdriver?=?DETECT,?gmode,?errorcode;? ???int?midx,?midy,?hj,?vj;? ???char?msg[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);?/*?termi
本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。