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

I.xml

时间:2014-10-18 15:14:32      阅读:197      评论:0      收藏:0      [点我收藏+]

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

函数名:?imagesize?

功??能:?返回保存位图像所需的字节数?

用??法:?unsigned?far?imagesize(int?left,?int?top,?int?right,?int?bottom);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
#define?ARROW_SIZE?10?
void?draw_arrow(int?x,?int?y);?
int?main(void)?
{?
???/*?request?autodetection?*/?
???int?gdriver?=?DETECT,?gmode,?errorcode;?
???void?*arrow;?
???int?x,?y,?maxx;?
???unsigned?int?size;?
???/*?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();?
???x?=?0;?
???y?=?getmaxy()?/?2;?
???/*?draw?the?image?to?be?grabbed?*/?
???draw_arrow(x,?y);?
???/*?calculate?the?size?of?the?image?*/?
???size?=?imagesize(x,?y-ARROW_SIZE,?x+(4*ARROW_SIZE),?y+ARROW_SIZE);?
???/*?allocate?memory?to?hold?the?image?*/?
???arrow?=?malloc(size);?
???/*?grab?the?image?*/?
???getimage(x,?y-ARROW_SIZE,?x+(4*ARROW_SIZE),?y+ARROW_SIZE,?arrow);?
???/*?repeat?until?a?key?is?pressed?*/?
???while?(!kbhit())?
???{?
??????/*?erase?old?image?*/?
??????putimage(x,?y-ARROW_SIZE,?arrow,?XOR_PUT);?
??????x?+=?ARROW_SIZE;?
??????if?(x?>=?maxx)?
??????????x?=?0;?
??????/*?plot?new?image?*/?
??????putimage(x,?y-ARROW_SIZE,?arrow,?XOR_PUT);?
???}?
???/*?clean?up?*/?
???free(arrow);?
???closegraph();?
???return?0;?
}?
void?draw_arrow(int?x,?int?y)?
{?
???/*?draw?an?arrow?on?the?screen?*/?
???moveto(x,?y);?
???linerel(4*ARROW_SIZE,?0);?
???linerel(-2*ARROW_SIZE,?-1*ARROW_SIZE);?
???linerel(0,?2*ARROW_SIZE);?
???linerel(2*ARROW_SIZE,?-1*ARROW_SIZE);?
}?
??
??
??

函数名:?initgraph?

功??能:?初始化图形系统?

用??法:?void?far?initgraph(int?far?*graphdriver,?int?far?*graphmode,?

????char?far?*pathtodriver);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
int?main(void)?
{?
???/*?request?auto?detection?*/?
???int?gdriver?=?DETECT,?gmode,?errorcode;?
???/*?initialize?graphics?mode?*/?
???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);?????????????/*?return?with?error?code?*/?
???}?
???/*?draw?a?line?*/?
???line(0,?0,?getmaxx(),?getmaxy());?
???/*?clean?up?*/?
???getch();?
???closegraph();?
???return?0;?
}?
??
??

函数名:?inport?

功??能:?从硬件端口中输入?

用??法:?int?inp(int?protid);?

程序例:?

#include?<stdio.h>?
#include?<dos.h>?
int?main(void)?
{?
???int?result;?
???int?port?=?0;??/*?serial?port?0?*/?
???result?=?inport(port);?
???printf("Word?read?from?port?%d?=?0x%X\n",?port,?result);?
???return?0;?
}?
??
??

函数名:?insline?

功??能:?在文本窗口中插入一个空行?

用??法:?void?insline(void);?

程序例:?

#include?<conio.h>?
int?main(void)?
{?
???clrscr();?
???cprintf("INSLINE?inserts?an?empty?line?in?the?text?window\r\n");?
???cprintf("at?the?cursor?position?using?the?current?text\r\n");?
???cprintf("background?color.??All?lines?below?the?empty?one\r\n");?
???cprintf("move?down?one?line?and?the?bottom?line?scrolls\r\n");?
???cprintf("off?the?bottom?of?the?window.\r\n");?
???cprintf("\r\nPress?any?key?to?continue:");?
???gotoxy(1,?3);?
???getch();?
???insline();?
???getch();?
???return?0;?
}?
??
??
??

函数名:?installuserdriver?

功??能:?安装设备驱动程序到BGI设备驱动程序表中?

用??法:?int?far?installuserdriver(char?far?*name,?int?(*detect)(void));?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
/*?function?prototypes?*/?
int?huge?detectEGA(void);?
void?checkerrors(void);?
int?main(void)?
{?
???int?gdriver,?gmode;?
???/*?install?a?user?written?device?driver?*/?
???gdriver?=?installuserdriver("EGA",?detectEGA);?
???/*?must?force?use?of?detection?routine?*/?
???gdriver?=?DETECT;?
???/*?check?for?any?installation?errors?*/?
???checkerrors();?
???/*?initialize?graphics?and?local?variables?*/?
???initgraph(&gdriver,?&gmode,?"");?
???/*?check?for?any?initialization?errors?*/?
???checkerrors();?
???/*?draw?a?line?*/?
???line(0,?0,?getmaxx(),?getmaxy());?
???/*?clean?up?*/?
???getch();?
???closegraph();?
???return?0;?
}?
/*?detects?EGA?or?VGA?cards?*/?
int?huge?detectEGA(void)?
{?
???int?driver,?mode,?sugmode?=?0;?
???detectgraph(&driver,?&mode);?
???if?((driver?==?EGA)?||?(driver?==?VGA))?
??????/*?return?suggested?video?mode?number?*/?
??????return?sugmode;?
???else?
??????/*?return?an?error?code?*/?
??????return?grError;?
}?
/*?check?for?and?report?any?graphics?errors?*/?
void?checkerrors(void)?
{?
???int?errorcode;?
???/*?read?result?of?last?graphics?operation?*/?
???errorcode?=?graphresult();?
???if?(errorcode?!=?grOk)?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?
???}?
}?

函数名:?installuserfont?

功??能:?安装未嵌入BGI系统的字体文件(CHR)?

用??法:?int?far?installuserfont(char?far?*name);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
/*?function?prototype?*/?
void?checkerrors(void);?
int?main(void)?
{?
???/*?request?auto?detection?*/?
???int?gdriver?=?DETECT,?gmode;?
???int?userfont;?
???int?midx,?midy;?
???/*?initialize?graphics?and?local?variables?*/?
???initgraph(&gdriver,?&gmode,?"");?
???midx?=?getmaxx()?/?2;?
???midy?=?getmaxy()?/?2;?
???/*?check?for?any?initialization?errors?*/?
???checkerrors();?
???/*?install?a?user?defined?font?file?*/?
???userfont?=?installuserfont("USER.CHR");?
???/*?check?for?any?installation?errors?*/?
???checkerrors();?
???/*?select?the?user?font?*/?
???settextstyle(userfont,?HORIZ_DIR,?4);?
???/*?output?some?text?*/?
???outtextxy(midx,?midy,?"Testing!");?
???/*?clean?up?*/?
???getch();?
???closegraph();?
???return?0;?
}?
/*?check?for?and?report?any?graphics?errors?*/?
void?checkerrors(void)?
{?
???int?errorcode;?
???/*?read?result?of?last?graphics?operation?*/?
???errorcode?=?graphresult();?
???if?(errorcode?!=?grOk)?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?
???}?
?}?
??
??
??

函数名:?int86?

功??能:?通用8086软中断接口?

用??法:?int?int86(int?intr_num,?union?REGS?*inregs,?union?REGS?*outregs);?

程序例:?

#include?<stdio.h>?
#include?<conio.h>?
#include?<dos.h>?
#define?VIDEO?0x10?
void?movetoxy(int?x,?int?y)?
{?
???union?REGS?regs;?
???regs.h.ah?=?2;??/*?set?cursor?postion?*/?
???regs.h.dh?=?y;?
???regs.h.dl?=?x;?
???regs.h.bh?=?0;??/*?video?page?0?*/?
???int86(VIDEO,?®s,?®s);?
}?
int?main(void)?
{?
???clrscr();?
???movetoxy(35,?10);?
???printf("Hello\n");?
???return?0;?
}?
??
??

函数名:?int86x?

功??能:?通用8086软中断接口?

用??法:?int?int86x(int?intr_num,?union?REGS?*insegs,?union?REGS?*outregs,?

?????struct?SREGS?*segregs);?

程序例:?

#include?<dos.h>?
#include?<process.h>?
#include?<stdio.h>?
int?main(void)?
{?
???char?filename[80];?
???union?REGS?inregs,?outregs;?
???struct?SREGS?segregs;?
???printf("Enter?filename:?");?
???gets(filename);?
???inregs.h.ah?=?0x43;?
???inregs.h.al?=?0x21;?
???inregs.x.dx?=?FP_OFF(filename);?
???segregs.ds?=?FP_SEG(filename);?
???int86x(0x21,?&inregs,?&outregs,?&segregs);?
???printf("File?attribute:?%X\n",?outregs.x.cx);?
???return?0;?
}?
??
??
??

函数名:?intdos?

功??能:?通用DOS接口?

用??法:?int?intdos(union?REGS?*inregs,?union?REGS?*outregs);?

程序例:?

#include?<stdio.h>?
#include?<dos.h>?
/*?deletes?file?name;?returns?0?on?success,?nonzero?on?failure?*/?
int?delete_file(char?near?*filename)?
{?
???union?REGS?regs;?
???int?ret;?
???regs.h.ah?=?0x41;????????????????????????????/*?delete?file?*/?
???regs.x.dx?=?(unsigned)?filename;?
???ret?=?intdos(®s,?®s);?
???/*?if?carry?flag?is?set,?there?was?an?error?*/?
???return(regs.x.cflag???ret?:?0);?
}?
int?main(void)?
{?
???int?err;?
???err?=?delete_file("NOTEXIST.$$$");?
???if?(!err)?
??????printf("Able?to?delete?NOTEXIST.$$$\n");?
???else?
??????printf("Not?Able?to?delete?NOTEXIST.$$$\n");?
???return?0;?
}?
??
??
??

函数名:?intdosx?

功??能:?通用DOS中断接口?

用??法:?int?intdosx(union?REGS?*inregs,?union?REGS?*outregs,?

??????struct?SREGS?*segregs);?

程序例:?

#include?<stdio.h>?
#include?<dos.h>?
/*?deletes?file?name;?returns?0?on?success,?nonzero?on?failure?*/?
int?delete_file(char?far?*filename)?
{?
???union?REGS?regs;?struct?SREGS?sregs;?
???int?ret;?
???regs.h.ah?=?0x41;??????????????????????/*?delete?file?*/?
???regs.x.dx?=?FP_OFF(filename);?
???sregs.ds?=?FP_SEG(filename);?
???ret?=?intdosx(®s,?®s,?&sregs);?
???/*?if?carry?flag?is?set,?there?was?an?error?*/?
???return(regs.x.cflag???ret?:?0);?
}?
int?main(void)?
{?
???int?err;?
???err?=?delete_file("NOTEXIST.$$$");?
???if?(!err)?
??????printf("Able?to?delete?NOTEXIST.$$$\n");?
???else?
??????printf("Not?Able?to?delete?NOTEXIST.$$$\n");?
???return?0;?
}?
??
??

函数名:?intr?

功??能:?改变软中断接口?

用??法:?void?intr(int?intr_num,?struct?REGPACK?*preg);?

程序例:?

#include?<stdio.h>?
#include?<string.h>?
#include?<dir.h>?
#include?<dos.h>?
#define?CF?1??/*?Carry?flag?*/?
int?main(void)?
{?
???char?directory[80];?
???struct?REGPACK?reg;?
???printf("Enter?directory?to?change?to:?");?
???gets(directory);?
???reg.r_ax?=?0x3B?<<?8;?????????/*?shift?3Bh?into??AH?*/?
???reg.r_dx?=?FP_OFF(directory);?
???reg.r_ds?=?FP_SEG(directory);?
???intr(0x21,?®);?
???if?(reg.r_flags?&?CF)?
??????printf("Directory?change?failed\n");?
???getcwd(directory,?80);?
???printf("The?current?directory?is:?%s\n",?directory);?
???return?0;?
}?
??
??

函数名:?ioctl?

功??能:?控制I/O设备?

用??法:?int?ioctl(int?handle,?int?cmd[,int?*argdx,?int?argcx]);?

程序例:?

#include?<stdio.h>?
#include?<dir.h>?
#include?<io.h>?
int?main(void)?
{?
???int?stat;?
???/*?use?func?8?to?determine?if?the?default?drive?is?removable?*/?
???stat?=?ioctl(0,?8,?0,?0);?
???if?(!stat)?
??????printf("Drive?%c?is?removable.\n",?getdisk()?+?‘A‘);?
???else?
??????printf("Drive?%c?is?not?removable.\n",?getdisk()?+?‘A‘);?
???return?0;?
}?
??
??
??

函数名:?isatty?

功??能:?检查设备类型?

用??法:?int?isatty(int?handle);?

程序例:?

#include?<stdio.h>?
#include?<io.h>?
int?main(void)?
{?
???int?handle;?
???handle?=?fileno(stdprn);?
???if?(isatty(handle))?
??????printf("Handle?%d?is?a?device?type\n",?handle);?
???else?
??????printf("Handle?%d?isn‘t?a?device?type\n",?handle);?
???return?0;?
}?
??
??
??

函数名:?itoa?

功??能:?把一整数转换为字符串?

用??法:?char?*itoa(int?value,?char?*string,?int?radix);?

程序例:?

#include?<stdlib.h>?
#include?<stdio.h>?
int?main(void)?
{?
???int?number?=?12345;?
???char?string[25];?
???itoa(number,?string,?10);?
???printf("integer?=?%d?string?=?%s\n",?number,?string);?
???return?0;?
}?
??
??

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

I.xml

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

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

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