?? getline.c
字號:
/******************************************************************************/
/* GETLINE.C: 字符輸入行編輯器 */
/******************************************************************************/
#include <stdio.h>
#define CNTLQ 0x11
#define CNTLS 0x13
#define DEL 0x7F
#define BACKSPACE 0x08
#define CR 0x0D
#define LF 0x0A
/***************/
/* 行編輯器 */
/***************/
void getline (char idata *line, unsigned char n) {
unsigned char cnt = 0;
char c;
do {
if ((c = _getkey ()) == CR) c = LF; /* 讀入字符 */
if (c == BACKSPACE || c == DEL) { /* 處理BACKSPACE鍵 */
if (cnt != 0) {
cnt--;
line--;
putchar (0x08); /* 回顯backspace */
putchar (' ');
putchar (0x08);
}
}
else if (c != CNTLQ && c != CNTLS) { /* 忽略CNTL_Q 和CNTL_S */
putchar (*line = c); /* 回顯并保存字符 */
line++;
cnt++;
}
} while (cnt < n - 1 && c != LF);
*line = 0; /* 字符串結(jié)尾標(biāo)志 */
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -