Devi usare gli INTERUPT di sistema...
#include <stdio.h>
#include <math.h>
#include <dos.h>
union REGS inregs, outregs;
main()
{
int ore, minuti, secondi, resto;
unsigned long hight, low, result;
char lo[8], all[16];
inregs.h.ah = 0x00;
int86(0x1A,&inregs,&outregs);
hight = outregs.x.cx;
low = outregs.x.dx;
ltoa(hight,all,10);
ltoa(low,lo,10);
strcat(all,lo);
result = atol(all);
ore = result/65543;
resto = result % 65543;
minuti = resto/1092;
resto %= 1092;
secondi= resto/18;
printf("%02d:%02d:%02d", ore, minuti, secondi);
}