C/C++——小编谈C语言函数那些事(24)

 

C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。

 

1.   setvect函数

setvect函数的功能是设置中断矢量入口,其用法为:void setvect(int intr_num, void interrupt(*isr)());程序实例如下:

#include <stdio.h>

#include <dos.h>

#include <conio.h>

#define INTR 0X1C

void interrupt ( *oldhandler)(void);

int count=0;

void interrupt handler(void)

{

   count++;

   oldhandler();

}

int main(void)

{

   oldhandler = getvect(INTR);

   setvect(INTR, handler);

   while (count < 20)

      printf("count is %d/n",count);

   setvect(INTR, oldhandler);

   return 0;

}

 2.   setverify函数

setverify函数的功能是设置验证状态,其用法为void setverify(int value);程序实例代码如下:

#include <stdio.h>
#include <conio.h>
#include <dos.h>
int main(void)
{
   int verify_flag;
   printf("Enter 0 to set verify flag off/n");
   printf("Enter 1 to set verify flag on/n");
   verify_flag = getch() - 0;
   setverify(verify_flag);
   if (getverify())
      printf("DOS verify flag is on/n");
   else
      printf("DOS verify flag is off/n");
   return 0;
}

3.   setviewport函数

setviewport函数的功能是为图形输出设置当前视口, 其用法为:void far setviewport(int left, int top, int right,int bottom, int clipflag);程序实例代码如下:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define CLIP_ON 1  
int main(void)
{

   int gdriver = DETECT, gmode, errorcode;

   initgraph(&gdriver, &gmode, "");
   errorcode = graphresult();
   if (errorcode != grOk)  
   {
      printf("Graphics error: %s/n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); 
   }
   setcolor(getmaxcolor());
   outtextxy(0, 0, "* <-- (0, 0) in default viewport");
   setviewport(50, 50, getmaxx()-50, getmaxy()-50, CLIP_ON);
   outtextxy(0, 0, "* <-- (0, 0) in smaller viewport");
   getch();
   closegraph();
   return 0;
}

4.  setvisualpage函数

setvisualpage函数的功能是设置可见图形页号,其用法为:void far setvisualpage(int pagenum);程序实例代码如下:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

   int gdriver = EGA, gmode = EGAHI, errorcode;

   int x, y, ht;

   initgraph(&gdriver, &gmode, "");

   errorcode = graphresult();

   if (errorcode != grOk)

   {

      printf("Graphics error: %s/n", grapherrormsg(errorcode));

      printf("Press any key to halt:");

      getch();

      exit(1);

   }

   x = getmaxx() / 2;

   y = getmaxy() / 2;

   ht = textheight("W");

   setactivepage(1);

   line(0, 0, getmaxx(), getmaxy());

   settextjustify(CENTER_TEXT, CENTER_TEXT);

   outtextxy(x, y, "This is page #1:");

   outtextxy(x, y+ht, "Press any key to halt:");

   setactivepage(0);

   outtextxy(x, y, "This is page #0.");

   outtextxy(x, y+ht, "Press any key to view page #1:");

   getch();

   setvisualpage(1);

   getch();

   closegraph();

   return 0;

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值