最近在開發一個項目中對一些命令行進行隱藏,不提供給用戶,因此就給一些進入命令行以前加上密碼,用到函數getpass函數,ide
所以今天來簡單總結一下這個函數:函數
getpass函數:讀入用戶在終端上鍵入的口令,此函數由login和crypt程序調用。爲了讀口令,該函數必須禁止會送,命令行
但仍可以使用終端以規範的方式工做,由於用戶在鍵入口令後,必定要鍵入回車,這樣也構成一個完整的行。blog
函數原型:開發
char *getpass( const char *prompt);
函數返回輸入的字符串字符串
prompt是回顯到屏幕上,通常是提示用戶輸入;get
舉一個簡單例子:input
#include<stdio.h> #include<unistd.h> char *g_pStaticPw = "666666"; int main() { char *pw; pw = getpass("input password:"); while( ( strlen(g_pStaticPw) != strlen(pw) ) || \ ( 0 != memcmp(g_pStaticPw,pw,strlen(g_pStaticPw)) ) ) { printf("oh no password error!!!\n"); pw = getpass("input password again:"); } printf("welcome !!!!\n"); return 0; }
運行結果
原型