韩冰 发表于 2004-10-4 02:59

函数大全(i开头)

<P align=center><FONT color=#0000ff size=3><B><FONT color=#cc0000>函数大全(i开头)</FONT></B></FONT></P>
<P align=left><FONT color=#ff0000>函数名: imagesize</FONT>
功 能: 返回保存位图像所需的字节数
用 法: unsigned far imagesize(int left, int top, int right, int bottom);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>#define ARROW_SIZE 10 </FONT></P>
<P><FONT color=#0000ff>void draw_arrow(int x, int y); </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode;
void *arrow;
int x, y, maxx;
unsigned int size; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>maxx = getmaxx();
x = 0;
y = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* draw the image to be grabbed */
draw_arrow(x, y); </FONT></P>
<P><FONT color=#0000ff>/* calculate the size of the image */
size = imagesize(x, y-ARROW_SIZE, x+(4*ARROW_SIZE), y+ARROW_SIZE); </FONT></P>
<P><FONT color=#0000ff>/* allocate memory to hold the image */
arrow = malloc(size); </FONT></P>
<P><FONT color=#0000ff>/* grab the image */
getimage(x, y-ARROW_SIZE, x+(4*ARROW_SIZE), y+ARROW_SIZE, arrow); </FONT></P>
<P><FONT color=#0000ff>/* repeat until a key is pressed */
while (!kbhit())
{
/* erase old image */
putimage(x, y-ARROW_SIZE, arrow, XOR_PUT); </FONT></P>
<P><FONT color=#0000ff>x += ARROW_SIZE;
if (x &gt;= maxx)
x = 0; </FONT></P>
<P><FONT color=#0000ff>/* plot new image */
putimage(x, y-ARROW_SIZE, arrow, XOR_PUT);
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
free(arrow);
closegraph();
return 0;
} </FONT></P>
<P><FONT color=#0000ff>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);
}


</FONT></P>
<P><FONT color=#ff0000>函数名: initgraph </FONT><FONT color=#0000ff>
<FONT color=#000000>功 能: 初始化图形系统
用 法: void far initgraph(int far *graphdriver, int far *graphmode,
char far *pathtodriver);
程序例: </FONT></FONT></P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics mode */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* read result of initialization */
errorcode = graphresult(); </FONT></P>
<P><FONT color=#0000ff>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 */
} </FONT></P>
<P><FONT color=#0000ff>/* draw a line */
line(0, 0, getmaxx(), getmaxy()); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: inport </FONT>
功 能: 从硬件端口中输入
用 法: int inp(int protid);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int result;
int port = 0; /* serial port 0 */ </FONT></P>
<P><FONT color=#0000ff>result = inport(port);
printf("Word read from port %d = 0x%X\n", port, result);
return 0;
}

</FONT></P>
<P><FONT color=#ff0000>函数名: insline </FONT>
功 能: 在文本窗口中插入一个空行
用 法: void insline(void);
程序例: </P>
<P><FONT color=#0000ff>#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>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;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: installuserdriver </FONT>
功 能: 安装设备驱动程序到BGI设备驱动程序表中
用 法: int far installuserdriver(char far *name, int (*detect)(void));
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>/* function prototypes */
int huge detectEGA(void);
void checkerrors(void); </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int gdriver, gmode; </FONT></P>
<P><FONT color=#0000ff>/* install a user written device driver */
gdriver = installuserdriver("EGA", detectEGA); </FONT></P>
<P><FONT color=#0000ff>/* must force use of detection routine */
gdriver = DETECT; </FONT></P>
<P><FONT color=#0000ff>/* check for any installation errors */
checkerrors(); </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* check for any initialization errors */
checkerrors(); </FONT></P>
<P><FONT color=#0000ff>/* draw a line */
line(0, 0, getmaxx(), getmaxy()); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
} </FONT></P>
<P><FONT color=#0000ff>/* detects EGA or VGA cards */
int huge detectEGA(void)
{
int driver, mode, sugmode = 0; </FONT></P>
<P><FONT color=#0000ff>detectgraph(&amp;driver, &amp;mode);
if ((driver == EGA) || (driver == VGA))
/* return suggested video mode number */
return sugmode;
else
/* return an error code */
return grError;
} </FONT></P>
<P><FONT color=#0000ff>/* check for and report any graphics errors */
void checkerrors(void)
{
int errorcode; </FONT></P>
<P><FONT color=#0000ff>/* 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);
}
} </FONT></P>
<P><FONT color=#ff0000>函数名: installuserfont </FONT>
功 能: 安装未嵌入BGI系统的字体文件(CHR)
用 法: int far installuserfont(char far *name);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>/* function prototype */
void checkerrors(void); </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode;
int userfont;
int midx, midy; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* check for any initialization errors */
checkerrors(); </FONT></P>
<P><FONT color=#0000ff>/* install a user defined font file */
userfont = installuserfont("USER.CHR"); </FONT></P>
<P><FONT color=#0000ff>/* check for any installation errors */
checkerrors(); </FONT></P>
<P><FONT color=#0000ff>/* select the user font */
settextstyle(userfont, HORIZ_DIR, 4); </FONT></P>
<P><FONT color=#0000ff>/* output some text */
outtextxy(midx, midy, "Testing!"); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
} </FONT></P>
<P><FONT color=#0000ff>/* check for and report any graphics errors */
void checkerrors(void)
{
int errorcode; </FONT></P>
<P><FONT color=#0000ff>/* 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);
}
} </FONT>


</P>
<P><FONT color=#ff0000>函数名: int86 </FONT>
功 能: 通用8086软中断接口
用 法: int int86(int intr_num, union REGS *inregs, union REGS *outregs);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <CONIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>#define VIDEO 0x10 </FONT></P>
<P><FONT color=#0000ff>void movetoxy(int x, int y)
{
union REGS regs; </FONT></P>
<P><FONT color=#0000ff>regs.h.ah = 2; /* set cursor postion */
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* video page 0 */
int86(VIDEO, &reg;s, &reg;s);
} </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
clrscr();
movetoxy(35, 10);
printf("Hello\n");
return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: int86x </FONT>
功 能: 通用8086软中断接口
用 法: int int86x(int intr_num, union REGS *insegs, union REGS *outregs,
struct SREGS *segregs);
程序例: </P>
<P><FONT color=#0000ff>#include <DOS.H>
#include <PROCESS.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char filename;
union REGS inregs, outregs;
struct SREGS segregs; </FONT></P>
<P><FONT color=#0000ff>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, &amp;inregs, &amp;outregs, &amp;segregs);
printf("File attribute: %X\n", outregs.x.cx);
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: intdos </FONT>
功 能: 通用DOS接口
用 法: int intdos(union REGS *inregs, union REGS *outregs);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>/* 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(&reg;s, &reg;s); </FONT></P>
<P><FONT color=#0000ff>/* if carry flag is set, there was an error */
return(regs.x.cflag ? ret : 0);
} </FONT></P>
<P><FONT color=#0000ff>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;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: intdosx </FONT>
功 能: 通用DOS中断接口
用 法: int intdosx(union REGS *inregs, union REGS *outregs,
struct SREGS *segregs);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>/* 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(&reg;s, &reg;s, &amp;sregs); </FONT></P>
<P><FONT color=#0000ff>/* if carry flag is set, there was an error */
return(regs.x.cflag ? ret : 0);
} </FONT></P>
<P><FONT color=#0000ff>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;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: intr </FONT>
功 能: 改变软中断接口
用 法: void intr(int intr_num, struct REGPACK *preg);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H>
#include <DIR.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>#define CF 1 /* Carry flag */ </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char directory;
struct REGPACK reg; </FONT></P>
<P><FONT color=#0000ff>printf("Enter directory to change t ");
gets(directory);
reg.r_ax = 0x3B &lt;&lt; 8; /* shift 3Bh into AH */
reg.r_dx = FP_OFF(directory);
reg.r_ds = FP_SEG(directory);
intr(0x21, &reg;);
if (reg.r_flags &amp; CF)
printf("Directory change failed\n");
getcwd(directory, 80);
printf("The current directory is: %s\n", directory);
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: ioctl </FONT>
功 能: 控制I/O设备
用 法: int ioctl(int handle, int cmd[,int *argdx, int argcx]);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DIR.H>
#include <IO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int stat; </FONT></P>
<P><FONT color=#0000ff>/* 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;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: isatty </FONT>
功 能: 检查设备类型
用 法: int isatty(int handle);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <IO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int handle; </FONT></P>
<P><FONT color=#0000ff>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;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: itoa </FONT>
功 能: 把一整数转换为字符串
用 法: char *itoa(int value, char *string, int radix);
程序例: </P>
<P><FONT color=#0000ff>#include <STDLIB.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int number = 12345;
char string; </FONT></P>
<P><FONT color=#0000ff>itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
} </FONT><FONT color=#0000ff>
</FONT></P>
页: [1]
查看完整版本: 函数大全(i开头)