最近在寫命令行程序,類似windows下的netsh。總結了點技巧。
想做一個不返回的命令行程序,等待用戶輸入,就得用死循環。
一般的處理方法如下:
while(1)
{
...
cCh = _getch();
_putch(cCh);
...
}
一次接受一個字符,自己處理。
每次都有提示符,類似windows的C:/>,就在循環的一開始打一把。
退格鍵處理:
使用_putch將退格符輸出到屏幕上,光標會回退一個字符,但不會將原來的字符刪除,所以得用這種方法:
_putch(VOS_BACKSPACE_CHAR);
_putch(VOS_SPACE_CHAR);
_putch(VOS_BACKSPACE_CHAR);
也不知道是哪位聰明人想出來的。。。呵呵
接受一條完整的命令,檢測回車符就行了。
我的命令行自通寫完了會把代碼發上來。大夥兒可以參考。