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

        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號
        主站蜘蛛池模板: 精品无码一区二区三区爱欲九九 | 日韩三级精品| 99视频精品全部在线观看| 亚洲精品A在线观看| 成人精品一区二区三区电影黑人| 国产精品无码一区二区三区电影| 亚洲精品无码av天堂| 久久久久一级精品亚洲国产成人综合AV区 | 国产午夜精品久久久久免费视 | 国产欧美在线观看精品一区二区| 国产精品一区二区不卡| 久久99精品久久久久久久不卡| 在线精品国产一区二区三区 | 久久精品人人做人人妻人人玩| 久久精品国产亚洲AV无码麻豆| 久久久精品国产sm调教网站| 亚洲国产综合精品中文字幕 | 在线亚洲欧美中文精品| 精品无码久久久久久国产| 99久久精品免费看国产免费| 国内精品久久国产大陆| 国产精品九九九久久九九| 国产成人精品优优av| 精品少妇人妻av无码久久| 三上悠亚久久精品| 久久久无码人妻精品无码| 亚洲国产精品久久久天堂| 亚洲精品成人无码中文毛片不卡| 亚洲精品无码你懂的网站| 日本精品一区二区三区在线视频一| 久久精品国产亚洲Aⅴ香蕉 | 精品97国产免费人成视频| 国产精品被窝福利一区| 国产精品亚洲欧美大片在线观看| 91精品国产自产在线观看| 久久精品国内一区二区三区| 久久九九亚洲精品| 亚洲精品国产成人99久久| 99久久精品费精品国产 | 精品亚洲成a人片在线观看| 精品久久久久久国产潘金莲|