more.c
来自「c c++最佳编程 1000 多个小技巧 源码」· C语言 代码 · 共 37 行
C
37 行
#include <stdio.h>
#include <dos.h>
void main(void)
{
char buffer[256];
long row_count = 0;
union REGS inregs, outregs;
int ctrl_key_pressed, scancode;
while (fgets (buffer, sizeof(buffer), stdin))
{
fputs (buffer, stdout);
if ((++row_count % 24) == 0)
{
printf ("-- More --");
// get the scancode of the key pressed
inregs.h.ah = 0;
int86 (0x16, &inregs, &outregs);
scancode = outregs.h.ah;
// get keyboard state in case of Ctrl-C
ctrl_key_pressed = 0;
inregs.h.ah = 2;
int86 (0x16, &inregs, &outregs);
// Ctrl key flag is bit 2
ctrl_key_pressed = (outregs.h.al & 4);
// scancode for C is 0x2E
if ((ctrl_key_pressed) && (scancode == 0x2E))
break; // Ctrl-C pressed
printf ("\r");
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?