22 123
发新话题
打印

编程开发版精华FAQ

做linux下的程序,如何在从标准输入读密码时关闭回显?
+ f. A4 j9 k0 j4 H, \: r使用getpass函数
# s7 l; ^" Q! {# i# F' ~或者:
复制内容到剪贴板
代码:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <termio.h>
int getPasswd(char *passwd)
{
        struct termio tbuf_old,tbuf;
        ioctl(0, TCGETA, &tbuf_old);
        ioctl(0, TCGETA, &tbuf);
        tbuf.c_lflag &=~ECHO;
        if (ioctl(0, TCSETAF, &tbuf) != 0)
     return;
        
        printf("please input passwd:");
        scanf("%s", passwd);
        ioctl(0, TCSETAF, &tbuf_old);
        return 0;
};
int main()
{
char passwd[8];
getPasswd( passwd );
printf("pass: %s", passwd);
return 1;
}
      
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

顶一下!

顶一下!顶一下了!      

TOP

 22 123
发新话题