站長資訊網
最全最豐富的資訊網站

C語言函數大全 h

函數名: harderr
功  能: 建立一個硬件錯誤處理程序
用  法: void harderr(int (*fptr)());
程序例:
/*This program will trap disk errors and prompt
the user for action. Try running it with no
disk in drive A: to invoke its functions.*/

#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define IGNORE  0
#define RETRY   1
#define ABORT   2
int buf[500];
/*define the error messages for trapping disk problems*/
static char *err_msg[] = {
    “write protect”,
    “unknown unit”,
    “drive not ready”,
    “unknown command”,
    “data error (CRC)”,
    “bad request”,
    “seek error”,
    “unknown media type”,
    “sector not found”,
    “printer out of paper”,
    “write fault”,
    “read fault”,
    “general failure”,
    “reserved”,
    “reserved”,
    “invalid disk change”
};

error_win(char *msg)
{
   int retval;

   cputs(msg);

/*prompt for user to press a key to abort, retry, ignore*/
   while(1)
   {
       retval= getch();
       if (retval == ‘a’ || retval == ‘A’)
       {
    retval = ABORT;
    break;
       }
       if (retval == ‘r’ || retval == ‘R’)
       {
    retval = RETRY;
    break;
       }
       if (retval == ‘i’ || retval == ‘I’)
       {
           retval = IGNORE;
           break;
       }
   }

   return(retval);
}

/*pragma warn -par reduces warnings which occur
due to the non use of the parameters errval,
bp and si to the handler.*/
#pragma warn -par

int handler(int errval,int ax,int bp,int si)
{
   static char msg[80];
   unsigned di;
   int drive;
   int errorno;
   di= _DI;
/*if this is not a disk error then it was
another device having trouble*/

   if (ax < 0)
   {
      /* report the error */
      error_win(“Device error”);
      /* and return to the program directly requesting abort */
      hardretn(ABORT);
   }
/* otherwise it was a disk error */
   drive = ax & 0x00FF;
   errorno = di & 0x00FF;
/* report which error it was */
   sprintf(msg, “Error: %s on drive %crnA)bort, R)etry, I)gnore: “,
    err_msg[errorno], ‘A’ + drive);
/*
return to the program via dos interrupt 0x23 with abort, retry,
or ignore as input by the user.
*/
   hardresume(error_win(msg));
   return ABORT;
}
#pragma warn +par

int main(void)
{
/*
install our handler on the hardware problem interrupt
*/
   harderr(handler);
   clrscr();
   printf(“Make sure there is no disk in drive A:n”);
   printf(“Press any key ….n”);
   getch();
   printf(“Trying to access drive A:n”);
   printf(“fopen returned %pn”,fopen(“A:temp.dat”, “w”));
   return 0;
}
 
 

函數名: hardresume
功  能: 硬件錯誤處理函數
用  法: void hardresume(int rescode);
程序例:
 

/* This program will trap disk errors and prompt the user for action. */
/* Try running it with no disk in drive A: to invoke its functions    */

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

#define IGNORE  0
#define RETRY   1
#define ABORT   2

int buf[500];

/* define the error messages for trapping disk problems */
static char *err_msg[] = {
    “write protect”,
    “unknown unit”,
    “drive not ready”,
    “unknown command”,
    “data error (CRC)”,
    “bad request”,
    “seek error”,
    “unknown media type”,
    “sector not found”,
    “printer out of paper”,
    “write fault”,
    “read fault”,
    “general failure”,
    “reserved”,
    “reserved”,
    “invalid disk change”
};

error_win(char *msg)
{
   int retval;

   cputs(msg);

/* prompt for user to press a key to abort, retry, ignore */
   while(1)
   {
       retval= getch();
       if (retval == ‘a’ || retval == ‘A’)
       {
           retval = ABORT;
           break;
       }
       if (retval == ‘r’ || retval == ‘R’)
       {
           retval = RETRY;
           break;
       }
       if (retval == ‘i’ || retval == ‘I’)
       {
           retval = IGNORE;
           break;
       }
   }

   return(retval);
}

/* pragma warn -par reduces warnings which occur due to the non use */
/* of the parameters errval, bp and si to the handler.              */
#pragma warn -par

int handler(int errval,int ax,int bp,int si)
{
   static char msg[80];
   unsigned di;
   int drive;
   int errorno;

   di= _DI;
/* if this is not a disk error then it was another device having trouble */

   if (ax < 0)
   {
      /* report the error */
      error_win(“Device error”);
      /* and return to the program directly
      requesting abort */
      hardretn(ABORT);
   }
/* otherwise it was a disk error */
   drive = ax & 0x00FF;
   errorno = di & 0x00FF;
/* report which error it was */
   sprintf(msg, “Error: %s on drive %crnA)bort, R)etry, I)gnore: “,
           err_msg[errorno], ‘A’ + drive);
/* return to the program via dos interrupt 0x23 with abort, retry */
/* or ignore as input by the user.  */
   hardresume(error_win(msg));
   return ABORT;
}
#pragma warn +par

int main(void)
{
/* install our handler on the hardware problem interrupt */
   harderr(handler);
   clrscr();
   printf(“Make sure there is no disk in drive A:n”);
   printf(“Press any key ….n”);
   getch();
   printf(“Trying to access drive A:n”);
   printf(“fopen returned %pn”,fopen(“A:temp.dat”, “w”));
   return 0;
}
 
 

函數名: highvideo
功  能: 選擇高亮度文本字符
用  法: void highvideo(void);
程序例:

#include <conio.h>

int main(void)
{
   clrscr();

   lowvideo();
   cprintf(“Low Intensity textrn”);
   highvideo();
   gotoxy(1,2);
   cprintf(“High Intensity Textrn”);

   return 0;
}
 
 

函數名: hypot
功  能: 計算直角三角形的斜邊長
用  法: double hypot(double x, double y);
程序例:

#include <stdio.h>
#include <math.h>

int main(void)
{
   double result;
   double x = 3.0;
   double y = 4.0;

   result = hypot(x, y);
   printf(“The hypotenuse is: %lfn”, result);

   return 0;
}

 

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产精品林美惠子在线观看| 国产精品美女久久久| 九九免费精品视频在这里| 国产亚洲午夜精品| 国产精品久久久久a影院| 精品国产V无码大片在线看| 亚洲国产综合精品中文第一区| 精品国产福利第一区二区三区| 精品国产一区二区三区在线观看| 精品在线视频一区| 亚洲日韩图片专区第1页| 国产精品中文字幕在线| 日韩精品视频免费网址| 国产精品99久久99久久久动漫| 伦精品一区二区三区视频| 亚洲精品免费在线视频| 日韩人妻精品一区二区三区视频| 国产成人精品视频一区二区不卡| 国产精品亚洲精品日韩已满| 综合国产精品第一页| 国内精品视频在线观看| 精品视频一区二区三区| 精品精品国产理论在线观看| 国产精品1024视频| 亚洲国产成人精品女人久久久| 青青草97国产精品免费观看| 日韩AV无码精品一二三区| 日韩a级片在线观看| 日韩免费高清一级毛片在线| 日韩黄a级成人毛片| 日韩成人免费视频播放| 日本精品一区二区久久久| 香蕉99久久国产综合精品宅男自 | 精品人无码一区二区三区| 亚洲国产精品免费视频| 国产精品国产三级国产在线观看| 人妻少妇无码精品视频区| 一夲道无码人妻精品一区二区| 国语自产偷拍精品视频偷拍| 亚洲精品国产精品乱码不99 | 99在线热视频只有精品免费|