首页 > 代码库 > H.xml
H.xml
<style
type="text/css">
pre{
border-style:solid;line-height:1;
color:#800044;
background-color:#e9e9ff;
font-size:16px;}.sysFunc{color:#627cf6;font-style:italic;font-weight:bold;}
.selfFuc{color:#800080;}
.bool{color:#d2576f;}
.condition{color:#000080;font-weight:bold;}
.key{color:#000080;}
.var{color:#800000;font-style:italic;}
.Digit{color:#ff00ff;font-weight:bold;}
.includePre{color:#440080;}
.operator?{color:#008000;font-weight:bold;}
</style>
函数名:?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?%c\r\nA)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?%p\n",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?%c\r\nA)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?%p\n",fopen("A:temp.dat",?"w"));? ???return?0;? }? ?? ??
函数名:?highvideo?
功??能:?选择高亮度文本字符?
用??法:?void?highvideo(void);?
程序例:?
#include?<conio.h>? int?main(void)? {? ???clrscr();? ???lowvideo();? ???cprintf("Low?Intensity?text\r\n");? ???highvideo();? ???gotoxy(1,2);? ???cprintf("High?Intensity?Text\r\n");? ???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:?%lf\n",?result);? ???return?0;? }? ?? ?? ?? ?? ?
本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。
H.xml
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。