?? getline.c
字號:
/*----------------------------------------------------------------------------
* R T L F l a s h F i l e S y s t e m E x a m p l e
*----------------------------------------------------------------------------
* Name: GETLINE.C
* Purpose: Line Edited Character Input
* Rev.: V3.14
*----------------------------------------------------------------------------
* This code is part of the RealView Run-Time Library.
* Copyright (c) 2004-2007 KEIL - An ARM Company. All rights reserved.
*---------------------------------------------------------------------------*/
#include <RTL.h>
#include <stdio.h>
#include "SD_File.h"
/*----------------------------------------------------------------------------
* Line Editor
*---------------------------------------------------------------------------*/
BOOL getline (char *lp, U32 n) {
U32 cnt = 0;
char c;
do {
c = getkey ();
switch (c) {
case CNTLQ: /* ignore Control S/Q */
case CNTLS:
break;;
case BACKSPACE:
case DEL:
if (cnt == 0) {
break;
}
cnt--; /* decrement count */
lp--; /* and line pointer */
putchar (0x08); /* echo backspace */
putchar (' ');
putchar (0x08);
fflush (stdout);
break;
case ESC:
*lp = 0; /* ESC - stop editing line */
return (__FALSE);
case CR: /* CR - done, stop editing line */
*lp = c;
lp++; /* increment line pointer */
cnt++; /* and count */
c = LF;
default:
putchar (*lp = c); /* echo and store character */
fflush (stdout);
lp++; /* increment line pointer */
cnt++; /* and count */
break;
}
} while (cnt < n - 2 && c != LF); /* check limit and CR */
*lp = 0; /* mark end of string */
return (__TRUE);
}
/*----------------------------------------------------------------------------
* end of file
*---------------------------------------------------------------------------*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -