linux下隐藏输入密码

来源:互联网 发布:js 时间控件选择星期 编辑:程序博客网 时间:2024/05/18 02:01

在做课设时,因为在windows上写了一个输入密码时屏幕显示为***的函数,但是在移植到linux系统上时却有问题,提示有错误。

上网搜索,有人说getch()函数的头文件是curses.h,还有人说是conio.h, 但是在ubuntu系统中都不能使用,再次搜索发现getch()函数并非c标准库函数,所以可能在其他系统中不支持。

因此找到了getpass()这一函数,实现在linux上密码隐藏输入的问题。其所在头文件为<unistd.h>

getpass()函数的返回值为所输入字符串的首地址,参数可以为想要在屏幕上显示的提示信息。(看到这里感到很惊奇,在c语言中竟然还有和python中差不多的函数,参数可以是提示信息!!!)

而且该函数同样也支持删除已输入的错误字符的功能,确实减少了编程时的麻烦^_^.

代码如下:#include <stdio.h>#include <unistd.h>int main (void){    char *ch;//返回值应为字符串首地址    ch = getpass("Please input the password:\n");    printf("password: %s",ch);    return 0;}