⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdg_022g.txt

📁 c编程宝典,详细介绍有关c的资料
💻 TXT
📖 第 1 页 / 共 4 页
字号:

int main(void) 
{ 
  puts("Press <Shift><Prt Sc> to terminate"); 

  /* save the old interrupt */ 
  oldfunc  = getvect(5); 

   /* install interrupt handler */ 
  setvect(5,get_out); 

   /* do nothing */ 
  while (looping); 

   /* restore to original interrupt routine */ 
   setvect(5,oldfunc); 

  puts("Success"); 
  return 0; 
} 
void interrupt get_out() 
{ 
  looping = 0; /* change global variable to get out of loop */ 
} 
  
  

函数名: getverify 
功  能: 返回DOS校验标志状态 
用  法: int getverify(void); 
程序例: 

#include <stdio.h> 
#include <dos.h> 

int main(void) 
{ 
   if (getverify()) 
      printf("DOS verify flag is on\n"); 
   else 
      printf("DOS verify flag is off\n"); 
   return 0; 
} 
  

函数名: getviewsetting 
功  能: 返回有关当前视区的信息 
用  法: void far getviewsettings(struct viewporttype far *viewport); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

char *clip[] = { "OFF", "ON" }; 

int main(void) 
{ 
   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   struct viewporttype viewinfo; 
   int midx, midy, ht; 
   char topstr[80], botstr[80], clipstr[80]; 

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

   midx = getmaxx() / 2; 
   midy = getmaxy() / 2; 

   /* get information about current viewport */ 
   getviewsettings(&viewinfo); 

   /* convert text information into strings */ 
   sprintf(topstr, "(%d, %d) is the upper left viewport corner.", 
           viewinfo.left, viewinfo.top); 
   sprintf(botstr, "(%d, %d) is the lower right viewport corner.", 
           viewinfo.right, viewinfo.bottom); 
   sprintf(clipstr, "Clipping is turned %s.", clip[viewinfo.clip]); 

   /* display the information */ 
   settextjustify(CENTER_TEXT, CENTER_TEXT); 
   ht = textheight("W"); 
   outtextxy(midx, midy, topstr); 
   outtextxy(midx, midy+2*ht, botstr); 
   outtextxy(midx, midy+4*ht, clipstr); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 
} 
  
  

函数名: getw 
功  能: 从流中取一整数 
用  法: int getw(FILE *strem); 
程序例: 

#include <stdio.h> 
#include <stdlib.h> 

#define FNAME "test.$$$" 

int main(void) 
{ 
   FILE *fp; 
   int word; 

   /* place the word in a file */ 
   fp = fopen(FNAME, "wb"); 
   if (fp == NULL) 
   { 
      printf("Error opening file %s\n", FNAME); 
      exit(1); 
   } 

   word = 94; 
   putw(word,fp); 
   if (ferror(fp)) 
       printf("Error writing to file\n"); 
   else 
       printf("Successful write\n"); 
   fclose(fp); 

   /* reopen the file */ 
   fp = fopen(FNAME, "rb"); 
   if (fp == NULL) 
   { 
      printf("Error opening file %s\n", FNAME); 
      exit(1); 
   } 

   /* extract the word */ 
   word = getw(fp); 
   if (ferror(fp)) 
       printf("Error reading file\n"); 
   else 
       printf("Successful read: word = %d\n", word); 

   /* clean up */ 
   fclose(fp); 
   unlink(FNAME); 

   return 0; 
} 
  
  
  

函数名: getx 
功  能: 返回当前图形位置的x坐标 
用  法: int far getx(void); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 
{ 
   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   char msg[80]; 

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

   /* move to the screen center point */ 
   moveto(getmaxx() / 2, getmaxy() / 2); 

   /* create a message string */ 
   sprintf(msg, "<-(%d, %d) is the here.", getx(), gety()); 

   /* display the message */ 
   outtext(msg); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 
} 
  
  

函数名: gety 
功  能: 返回当前图形位置的y坐标 
用  法: int far gety(void); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 
{ 
   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   char msg[80]; 

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

   /* move to the screen center point */ 
   moveto(getmaxx() / 2, getmaxy() / 2); 

   /* create a message string */ 
   sprintf(msg, "<-(%d, %d) is the here.", getx(), gety()); 

   /* display the message */ 
   outtext(msg); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 
} 
  
  

函数名: gmtime 
功  能: 把日期和时间转换为格林尼治标准时间(GMT) 
用  法: struct tm *gmtime(long *clock); 
程序例: 

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
#include <dos.h> 

/* Pacific Standard Time & Daylight Savings */ 
char *tzstr = "TZ=PST8PDT"; 

int main(void) 
{ 
   time_t t; 
   struct tm *gmt, *area; 

   putenv(tzstr); 
   tzset(); 

   t = time(NULL); 
   area = localtime(&t); 
   printf("Local time is: %s", asctime(area)); 
   gmt = gmtime(&t); 
   printf("GMT is:        %s", asctime(gmt)); 
   return 0; 
} 
  
  

函数名: gotoxy 
功  能: 在文本窗口中设置光标 
用  法: void gotoxy(int x, int y); 
程序例: 

#include <conio.h> 

int main(void) 
{ 
   clrscr(); 
   gotoxy(35, 12); 
   cprintf("Hello world"); 
   getch(); 
   return 0; 
} 
  
  

函数名: gotoxy 
功  能: 在文本窗口中设置光标 
用  法: void gotoxy(int x, int y); 
程序例: 

#include <conio.h> 

int main(void) 
{ 
   clrscr(); 
   gotoxy(35, 12); 
   cprintf("Hello world"); 
   getch(); 
   return 0; 
} 
  
  

函数名: graphdefaults 
功  能: 将所有图形设置复位为它们的缺省值 
用  法: void far graphdefaults(void); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 
{ 
   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   int maxx, maxy; 

   /* initialize graphics and local variables */ 
   initgraph(&gdriver, &gmode, "c:\\bor\\Borland\\bgi"); 

   /* 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(); 
   maxy = getmaxy(); 

   /* output line with non-default settings */ 
   setlinestyle(DOTTED_LINE, 0, 3); 
   line(0, 0, maxx, maxy); 
   outtextxy(maxx/2, maxy/3, "Before default values are restored."); 
   getch(); 

   /* restore default values for everything */ 
   graphdefaults(); 

   /* clear the screen */ 
   cleardevice(); 

   /* output line with default settings */ 
   line(0, 0, maxx, maxy); 
   outtextxy(maxx/2, maxy/3, "After restoring default values."); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 
} 
  
  

函数名: grapherrormsg 
功  能: 返回一个错误信息串的指针 
用  法: char *far grapherrormsg(int errorcode); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

#define NONSENSE -50 

int main(void) 
{ 
   /* FORCE AN ERROR TO OCCUR */ 
   int gdriver = NONSENSE, gmode, errorcode; 

   /* initialize graphics mode */ 
   initgraph(&gdriver, &gmode, ""); 

   /* read result of initialization */ 
   errorcode = graphresult(); 

   /* if an error occurred, then output a */ 
   /* descriptive error message.          */ 
   if (errorcode != grOk) 
   { 
      printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
      printf("Press any key to halt:"); 
      getch(); 
      exit(1); /* terminate with an error code */ 
   } 

   /* draw a line */ 
   line(0, 0, getmaxx(), getmaxy()); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 
} 
  
  

函数名: graphresult 
功  能: 返回最后一次不成功的图形操作的错误代码 
用  法: int far graphresult(void); 
程序例: 

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

   /* draw a line */ 
   line(0, 0, getmaxx(), getmaxy()); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 
} 
  

函数名: _graphfreemem 
功  能: 用户可修改的图形存储区释放函数 
用  法: void far _graphfreemem(void far *ptr, unsigned size); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 
#include <alloc.h> 

int main(void) 
{ 
       /* request auto detection */ 
       int gdriver = DETECT, gmode, errorcode; 
       int midx, midy; 

       /* clear the text screen */ 
       clrscr(); 
       printf("Press any key to initialize graphics mode:"); 
       getch(); 
       clrscr(); 

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

       midx = getmaxx() / 2; 
       midy = getmaxy() / 2; 

       /* display a message */ 
       settextjustify(CENTER_TEXT, CENTER_TEXT); 
       outtextxy(midx, midy, "Press any key to exit graphics mode:"); 

       /* clean up */ 
       getch(); 
       closegraph(); 
       return 0; 
} 

/* called by the graphics kernel to allocate memory */ 
void far * far _graphgetmem(unsigned size) 
{ 
       printf("_graphgetmem called to allocate %d bytes.\n", size); 
       printf("hit any key:"); 
       getch(); 
       printf("\n"); 

       /* allocate memory from far heap */ 
       return farmalloc(size); 
} 

/* called by the graphics kernel to free memory */ 
void far _graphfreemem(void far *ptr, unsigned size) 
{ 
       printf("_graphfreemem called to free %d bytes.\n", size); 
       printf("hit any key:"); 
       getch(); 
       printf("\n"); 

      /* free ptr from far heap */ 
      farfree(ptr); 
} 
  

函数名: _graphgetmem 
功  能: 用户可修改的图形存储区分配函数 
用  法: void far *far _graphgetmem(unsigned size); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 
#include <alloc.h> 

int main(void) 
{ 
   /* request autodetection */ 
   int gdriver = DETECT, gmode, errorcode; 
   int midx, midy; 

   /* clear the text screen */ 
   clrscr(); 
   printf("Press any key to initialize graphics mode:"); 
   getch(); 
   clrscr(); 

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

   midx = getmaxx() / 2; 
   midy = getmaxy() / 2; 

   /* display a message */ 
   settextjustify(CENTER_TEXT, CENTER_TEXT); 
   outtextxy(midx, midy, "Press any key to exit graphics mode:"); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 
} 

/* called by the graphics kernel to allocate memory */ 
void far * far _graphgetmem(unsigned size) 
{ 
   printf("_graphgetmem called to allocate %d bytes.\n", size); 
   printf("hit any key:"); 
   getch(); 
   printf("\n"); 

   /* allocate memory from far heap */ 
   return farmalloc(size); 
} 

/* called by the graphics kernel to free memory */ 
void far _graphfreemem(void far *ptr, unsigned size) 
{ 
   printf("_graphfreemem called to free %d bytes.\n", size); 
   printf("hit any key:"); 
   getch(); 
   printf("\n"); 

   /* free ptr from far heap */ 
   farfree(ptr); 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -