📄 countf.c
字号:
/***************************************************************
* COUNTF.C - Jim Kyle
* Last change : 13 August 1990
***************************************************************/
#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
#ifndef MK_FP
#define MK_FP( s, o ) (void far *)(((long)(s) << 16) | \
(unsigned)(o))
#endif
unsigned files(void)
{ union REGS regs;
struct SREGS sregs;
unsigned int far *ptr;
int n = 0;
if ( _osmajor < 2 )
{ puts( "FILES not supported in this DOS version.");
exit(0);
}
regs.h.ah = 0x52;
intdosx( ®s, ®s, &sregs );
ptr = (unsigned int far *) MK_FP( sregs.es, regs.x.bx + 4 );
ptr = (unsigned int far *) MK_FP( ptr[1], ptr[0] );
while ( FP_OFF(ptr) != 0xFFFF )
{ n += ptr[2];
ptr = (unsigned int far *) MK_FP( ptr[1], ptr[0] );
}
return n;
}
#ifdef TESTING
void main( void )
{ printf("FILES=%d\n", files());
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -