8-6.c
来自「一本经典书籍--C程序员成长攻略的原代码」· C语言 代码 · 共 85 行
C
85 行
#include"dos.h"
#include"stdlib.h"
void SetCurSize(int l1,int l2)
{
union REGS regs;
regs.h.ch=l1;
regs.h.cl=l2;
regs.h.ah=1;
int86(0x10,®s,®s);
}
void LocateCur(int x,int y)
{
union REGS regs;
regs.h.ah=2;
regs.h.dh=x;
regs.h.dl=y;
regs.h.bh=0;
int86(0x10,®s,®s);
}
void PrtChar(char c,int x,int y)
{
LocateCur(x,y);
_AL=c;
_AH=14;
geninterrupt(0x10);
}
void PrtTime(int x,int y)
{
int hour,min,sec,j;
char *h,*m,*s,ch;
_AH=2;
geninterrupt(0x1A);
hour=_CH;
min=_CL;
sec=_DH;
hour=(hour/16)*10+(hour%16);
min=(min/16)*10+(min%16);
sec=(sec/16)*10+(sec%16);
h=itoa(hour,h,10);
m=itoa(min,m,10);
s=itoa(sec,s,10);
LocateCur(x,y);
if(hour<10)
{
PrtChar('0',x,y);
y=y+1;
}
while(h[0]!='\0')
{
PrtChar(h[0],x,y++);
h++;
}
PrtChar(':',x,y++);
if(min<10)
{
PrtChar('0',x,y);
y=y+1;
}
while(m[0]!='\0')
{
PrtChar(m[0],x,y++);
m++;
}
PrtChar(':',x,y++);
if(sec<10)
{
PrtChar('0',x,y);
y=y+1;
}
while(s[0]!='\0')
{
PrtChar(s[0],x,y++);
s++;
}
}
main()
{
clrscr();
SetCurSize(7,0);
while(!kbhit())
{
PrtTime(10,30);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?