数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz

C语言的函数!

  [复制链接]
 楼主| 发表于 2004-5-8 17:48:58 | 显示全部楼层
<>函数名: getvect
功  能: 取得中断向量入口
用  法: void interrupt(*getvect(int intr_num));
程序例: <>#include &lt;stdio.h&gt;
#include &lt;dos.h&gt; <>void interrupt get_out(); /* interrupt prototype */ <P>void interrupt (*oldfunc)(); /* interrupt function pointer */
int looping = 1; <P>int main(void)
{
  puts("Press &lt;Shift&gt;&lt;Prt Sc&gt; to terminate"); <P>  /* save the old interrupt */
  oldfunc  = getvect(5); <P>   /* install interrupt handler */
  setvect(5,get_out); <P>   /* do nothing */
  while (looping); <P>   /* restore to original interrupt routine */
   setvect(5,oldfunc); <P>  puts("Success");
  return 0;
}
void interrupt get_out()
{
  looping = 0; /* change global variable to get out of loop */
}
  
</P>
 楼主| 发表于 2004-5-8 17:49:07 | 显示全部楼层
<>函数名: getverify
功  能: 返回DOS校验标志状态
用  法: int getverify(void);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;dos.h&gt; <>int main(void)
{
   if (getverify())
      printf("DOS verify flag is on\n");
   else
      printf("DOS verify flag is off\n");
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:49:17 | 显示全部楼层
<>函数名: getviewsetting
功  能: 返回有关当前视区的信息
用  法: void far getviewsettings(struct viewporttype far *viewport);
程序例: <>#include &lt;graphics.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt; <>char *clip[] = { "OFF", "ON" }; <P>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]; <P>   /* initialize graphics and local variables */
   initgraph(&amp;gdriver, &amp;gmode, ""); <P>   /* 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 */
   } <P>   midx = getmaxx() / 2;
   midy = getmaxy() / 2; <P>   /* get information about current viewport */
   getviewsettings(&amp;viewinfo); <P>   /* 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]); <P>   /* 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); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:49:26 | 显示全部楼层
<>函数名: getw
功  能: 从流中取一整数
用  法: int getw(FILE *strem);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt; <>#define FNAME "test.$$$" <P>int main(void)
{
   FILE *fp;
   int word; <P>   /* place the word in a file */
   fp = fopen(FNAME, "wb");
   if (fp == NULL)
   {
      printf("Error opening file %s\n", FNAME);
      exit(1);
   } <P>   word = 94;
   putw(word,fp);
   if (ferror(fp))
       printf("Error writing to file\n");
   else
       printf("Successful write\n");
   fclose(fp); <P>   /* reopen the file */
   fp = fopen(FNAME, "rb");
   if (fp == NULL)
   {
      printf("Error opening file %s\n", FNAME);
      exit(1);
   } <P>   /* extract the word */
   word = getw(fp);
   if (ferror(fp))
       printf("Error reading file\n");
   else
       printf("Successful read: word = %d\n", word); <P>   /* clean up */
   fclose(fp);
   unlink(FNAME); <P>   return 0;
}
  
</P>
 楼主| 发表于 2004-5-8 17:49:37 | 显示全部楼层
<>函数名: getx
功  能: 返回当前图形位置的x坐标
用  法: int far getx(void);
程序例: <>#include &lt;graphics.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt; <>int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   char msg[80]; <P>   /* initialize graphics and local variables */
   initgraph(&amp;gdriver, &amp;gmode, ""); <P>   /* 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 */
   } <P>   /* move to the screen center point */
   moveto(getmaxx() / 2, getmaxy() / 2); <P>   /* create a message string */
   sprintf(msg, "&lt;-(%d, %d) is the here.", getx(), gety()); <P>   /* display the message */
   outtext(msg); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:49:48 | 显示全部楼层
<>函数名: gety
功  能: 返回当前图形位置的y坐标
用  法: int far gety(void);
程序例: <>#include &lt;graphics.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt; <>int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   char msg[80]; <P>   /* initialize graphics and local variables */
   initgraph(&amp;gdriver, &amp;gmode, ""); <P>   /* 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 */
   } <P>   /* move to the screen center point */
   moveto(getmaxx() / 2, getmaxy() / 2); <P>   /* create a message string */
   sprintf(msg, "&lt;-(%d, %d) is the here.", getx(), gety()); <P>   /* display the message */
   outtext(msg); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:49:59 | 显示全部楼层
<>函数名: gmtime
功  能: 把日期和时间转换为格林尼治标准时间(GMT)
用  法: struct tm *gmtime(long *clock);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;time.h&gt;
#include &lt;dos.h&gt; <>/* Pacific Standard Time &amp; Daylight Savings */
char *tzstr = "TZ=PST8PDT"; <P>int main(void)
{
   time_t t;
   struct tm *gmt, *area; <P>   putenv(tzstr);
   tzset(); <P>   t = time(NULL);
   area = localtime(&amp;t);
   printf("Local time is: %s", asctime(area));
   gmt = gmtime(&amp;t);
   printf("GMT is:        %s", asctime(gmt));
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:50:08 | 显示全部楼层
<>函数名: gotoxy
功  能: 在文本窗口中设置光标
用  法: void gotoxy(int x, int y);
程序例: <>#include &lt;conio.h&gt; <>int main(void)
{
   clrscr();
   gotoxy(35, 12);
   cprintf("Hello world");
   getch();
   return 0;
}
  
</P>
 楼主| 发表于 2004-5-8 17:52:17 | 显示全部楼层
<>函数名: gotoxy
功  能: 在文本窗口中设置光标
用  法: void gotoxy(int x, int y);
程序例: <>#include &lt;conio.h&gt; <>int main(void)
{
   clrscr();
   gotoxy(35, 12);
   cprintf("Hello world");
   getch();
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:52:29 | 显示全部楼层
<>函数名: graphdefaults
功  能: 将所有图形设置复位为它们的缺省值
用  法: void far graphdefaults(void);
程序例: <>#include &lt;graphics.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt; <>int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int maxx, maxy; <P>   /* initialize graphics and local variables */
   initgraph(&amp;gdriver, &amp;gmode, "c:\\bor\\Borland\\bgi"); <P>   /* 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 */
   } <P>   maxx = getmaxx();
   maxy = getmaxy(); <P>   /* 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(); <P>   /* restore default values for everything */
   graphdefaults(); <P>   /* clear the screen */
   cleardevice(); <P>   /* output line with default settings */
   line(0, 0, maxx, maxy);
   outtextxy(maxx/2, maxy/3, "After restoring default values."); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 00:31 , Processed in 0.057230 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表