最近在开发一个项目中对一些命令行进行隐藏,不提供给用户,所以就给一些进入命令行之前加上密码,用到函数getpass函数,
因此今天来简单总结一下这个函数:
getpass函数:读入用户在终端上键入的口令,此函数由login和crypt程序调用。为了读口令,该函数必须禁止会送,
但仍可使用终端以规范的方式工作,因为用户在键入口令后,一定要键入回车,这样也构成一个完整的行。
函数原型:
char *getpass( const char *prompt);
函数返回输入的字符串
prompt是回显到屏幕上,一般是提示用户输入;
举一个简单例子:
#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; }
运行结果