WEB开发网
开发学院软件开发C++ C语言库函数(I类字母) 阅读

C语言库函数(I类字母)

 2008-03-08 12:31:18 来源:WEB开发网   
核心提示:函数名: imagesize 功能: 返回保存位图像所需的字节数 用法: unsigned far imagesize(int left, int top, int right, int bottom); 程序例: #include <graphics.h> #include <stdlib.h>
 
函数名: 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; 

Tags:语言 函数 字母

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接