Linux 退格鍵不回顯

2021-09-07 07:24:38 字數 918 閱讀 5328

在程式使用system("

stty erase ^h

");可以實現在輸入狀態下,按退格鍵刪除字元,不回顯。

呼叫tcsetattr修改linux基本輸入的控制字元定義

//

linux下退格鍵不回顯

#include #include

#include

#include

#include

#include

int main(int arg,char *args)

/*term.c_lflag &= ~icanon;//取消icanon選項(不規範輸入)

term.c_lflag != icanon;//設定icanon選項(規範輸入)

term.c_cc欄位為要設定的具體特殊輸入字元,如term.c_cc[verase]代表退格鍵

term.c_cc[verase]='\b';意思是擦除乙個字元用退格鍵表示

verase代表向前擦出乙個字元,vintr代表傳送 ctrl + c中斷訊號,ctrl + c的ascii碼為3

例如term.c_cc[vintr]='\t';意思是將tab鍵設定為中斷訊號

tcsetattr中,第二個引數說明--

tcsaflush:傳送了所有輸出後更改才生效,在更改發生時,未讀取得所有輸入資料都被刪除

tcsanow:更改立即生效

tcsadrain:傳送了所有輸出後更改才發生,如果更改輸出引數則應該使用該選項

*/term.c_cc[verase]='

\b';//

'\b'為退格鍵的ascii碼

if(tcsetattr(stdin_fileno,tcsanow,&term)==-1

)

return0;

}

Unix 不回顯輸入密碼

原帖見 http blog.163.com xiaolei li blog static 114404451200911172155783 在軟體開發中,往往會遇到要求使用者輸入密碼的情況。出於對密碼的保密,輸入的字元是不會顯示到螢幕上的。例如,在登入linux系統時,輸入使用者名稱後,輸入的密碼是...

密碼不回顯函式(二)

值得注意的是前面兩個函式都是從鍵盤讀入資料!還有getchar是很值得研究的 getchar 是stdio.h中的庫函式,它的作用是從stdin流中讀入乙個字元,也就是說,如果stdin有資料的話不用輸入它就可以直接讀取了。而getch 和getche 是conio.h中的庫函式,它的作用是從鍵盤接...

getpass 函式 螢幕輸入不回顯

環境 vmware workstation centos 6.4 x86 64 說明 讀寫使用者輸入,螢幕不回顯 char getpass const char prompt getpass用於從鍵盤讀取使用者輸入,但螢幕不回顯。引數prompt為螢幕提示字元。函式返回值為使用者鍵盤輸入的字串。螢幕...