站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

C語(yǔ)言函數(shù)大全 i

函數(shù)名: imagesize
功  能: 返回保存位圖像所需的字節(jié)數(shù)
用  法: 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: %sn”, 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);
}
 
 
 

函數(shù)名: initgraph
功  能: 初始化圖形系統(tǒng)
用  法: 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: %sn”, 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;
}
 
 

函數(shù)名: 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%Xn”, port, result);
   return 0;
}
 
 

函數(shù)名: insline
功  能: 在文本窗口中插入一個(gè)空行
用  法: void insline(void);
程序例:

#include <conio.h>

int main(void)
{
   clrscr();
   cprintf(“INSLINE inserts an empty line in the text windowrn”);
   cprintf(“at the cursor position using the current textrn”);
   cprintf(“background color.  All lines below the empty onern”);
   cprintf(“move down one line and the bottom line scrollsrn”);
   cprintf(“off the bottom of the window.rn”);
   cprintf(“rnPress any key to continue:”);
   gotoxy(1, 3);
   getch();
   insline();
   getch();
   return 0;
}
 
 
 

函數(shù)名: installuserdriver
功  能: 安裝設(shè)備驅(qū)動(dòng)程序到BGI設(shè)備驅(qū)動(dòng)程序表中
用  法: 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: %sn”, grapherrormsg(errorcode));
      printf(“Press any key to halt:”);
      getch();
      exit(1);
   }
}

函數(shù)名: installuserfont
功  能: 安裝未嵌入BGI系統(tǒng)的字體文件(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: %sn”, grapherrormsg(errorcode));
      printf(“Press any key to halt:”);
      getch();
      exit(1);
   }
 }
 
 
 

函數(shù)名: 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, &regs, &regs);
}

int main(void)
{
   clrscr();
   movetoxy(35, 10);
   printf(“Hellon”);
   return 0;
}
 
 

函數(shù)名: 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: %Xn”, outregs.x.cx);
   return 0;
}
 
 
 

函數(shù)名: 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(&regs, &regs);

   /* 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;
}
 
 
 

函數(shù)名: 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(&regs, &regs, &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;
}
 
 

函數(shù)名: 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, &reg);
   if (reg.r_flags & CF)
      printf(“Directory change failedn”);
   getcwd(directory, 80);
   printf(“The current directory is: %sn”, directory);
   return 0;
}
 
 

函數(shù)名: ioctl
功  能: 控制I/O設(shè)備
用  法: 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;
}
 
 
 

函數(shù)名: isatty
功  能: 檢查設(shè)備類型
用  法: 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 typen”, handle);
   else
      printf(“Handle %d isn’t a device typen”, handle);
   return 0;
}
 
 
 

函數(shù)名: itoa
功  能: 把一整數(shù)轉(zhuǎn)換為字符串
用  法: 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 = %sn”, number, string);
   return 0;
}

 

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
日韩在线一区二区| 麻豆人妻少妇精品无码专区| 久久精品?ⅴ无码中文字幕| 日韩一区二区三区精品| 国产成人精品久久久久| 99香蕉国产精品偷在线观看| 久久久久无码精品国产| 久久九九精品国产综合喷水| 精品国产日韩亚洲一区| 久久精品a一国产成人免费网站| 国产精品91av| 国内精品久久久久影院日本| CAOPORM国产精品视频免费| 国产精品无码久久四虎| 国产高清国产精品国产专区| 91在线精品中文字幕| 日韩人妻精品无码一区二区三区| 免费国产在线精品一区| 亚洲午夜日韩高清一区| 国产精品哟哟视频| 精品国产成a人在线观看| 国内精品久久久久久久久齐齐| 99re热免费精品视频观看| 国产精品伦一区二区三级视频| 日韩午夜理论免费TV影院| 亚洲日韩aⅴ在线视频| 国产一区二区精品久久岳√| 亚洲va精品中文字幕| 中文字幕日韩精品在线| 国产乱子伦精品视频| 国产精品国产免费无码专区不卡 | 久久精品九九亚洲精品| 久久精品视频免费看| 国产精品国产三级国产av品爱网| 久久精品国产精品亚洲精品| 国产精品污WWW在线观看| 亚洲国产精品成人精品无码区| 青青热久久国产久精品| 日韩精品一区二区三区中文3d| 日韩欧精品无码视频无删节| 中文日韩亚洲欧美制服|