网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Bjarne:有了qsort()为何还要sort.
.飞机订票系统设计.
.利用C语言小程序来解决大问题.
.Windows下C语言网络编程快速入门.
.Borland有一个梦,程序员的梦.
.C程序开发经典实例之1.
.类的分解,抽象类与纯虚函数的需.
.C语言程序开发经典实例之五.
.穷举密码算法.
.在C++Builer中多线程的实现.
.C++中禁止异常信息传递到析构函数.
.透过代理看世界 用VC++实现http代.
.256色汉字显示程序.
.一个c++写的发牌程序.
.使用Windows系统提供的IP控件.
.C++多态技术.
.采用c/c++编程实现盗取2005 Beta.
.用键盘移动光标的简单介绍.
.c++类的多态与虚函数的使用.
.C语言入门之运算符和表达式(1).

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

发表日期:2008-3-8


  
函数名: 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; 

上一篇:C语言库函数(G类字母) 人气:794
下一篇:C语言库函数(H类字母) 人气:653
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐