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

        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號
        主站蜘蛛池模板: 在线观看亚洲精品福利片| 久久精品国产亚洲精品2020| 精品一区二区三区四区在线| 久久99精品久久久久久hb无码| 久久国产成人亚洲精品影院| 四虎精品影院永久在线播放| 久久精品人人做人人妻人人玩| 欧美精品亚洲精品日韩专区| 久久精品免费观看| 亚洲AV永久无码精品水牛影视 | 精品一区二区三区波多野结衣| 国产精品国产AV片国产| 国产精品欧美亚洲韩国日本| 久久66热人妻偷产精品9| 无码人妻精品一区二区蜜桃百度| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 少妇人妻偷人精品无码视频| 青草国产精品视频。| 国产女人18毛片水真多18精品| 久久精品国产只有精品2020| 91精品最新国内在线播放| 国产欧美精品AAAAAA片| 欧美日韩人妻精品一区二区在线| 偷拍精品视频一区二区三区| 欧美精品整片300页| 精品欧美小视频在线观看| 国产偷窥熟女高潮精品视频| 亚洲精品免费在线观看| 欧美韩国精品另类综合| 精品少妇一区二区三区视频| 国产精品国产精品国产专区不卡| 国产精品欧美日韩| 久久久久国产精品| 四虎国产精品永久地址49| 四虎国产精品永久地址99| 老司机国内精品久久久久| 秋霞久久国产精品电影院| 亚洲精品欧美日韩| 99在线观看视频免费精品9| 国产成人亚洲精品91专区手机| 国产精品一区二区三区99|