用C语言实现登入系统密码不回显

在LINUX下不能使用getch()函数来使密码不回显,因为在linux下没有conio.h库文件,去网上找到解决方法将其替换为curses.h,仍然没用

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(int argc,char* argv[]){
char a[10];
printf("输入一个字符串:");
scanf("%s",a);
printf("输入成功,该字符串为:%s \n",a);
return 0;
}
[ouyangxi@DESKTOP-QNJ4U2U flight]$ ./a.out
输入一个字符串:oyx
输入成功,该字符串为:oyx
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(int argc,char* argv[]){
    char a[10];
    printf("输入一个字符串:");
    system("stty -echo");
    scanf("%s",a);
    system("stty echo");
                printf("\n");
    printf("输入成功,该字符串为:%s \n",a);

return 0;

 

[ouyangxi@DESKTOP-QNJ4U2U flight]$ gcc lizi.c
[ouyangxi@DESKTOP-QNJ4U2U flight]$ ./a.out
输入一个字符串:
输入成功,该字符串为:oyx

 

将scanf("%s",a);改为

system("stty -echo");

    scanf("%s",a);
    system("stty echo");

即将输入行没有回显。

 

但是还是没有达到使输入字符成为*的功能。

 

 

 

正是步行者,一步步登峰!

 

posted @ 2020-04-26 20:03  oldxi  阅读(409)  评论(0编辑  收藏  举报