Linux控制台下密码输入解决方案

学峰的学习笔记 2015-07-25

在Linux系统编过C语言程序的码农应该都知道,其和在Windows编程是有很大的区别的,Linux下没有许多在Windows下常用的头文件,但也有许多Windows下没有的头文件,对于初学者来说,是有一定的限制性的,就比如conio.h头文件,里面有许多的函数我们经常使用,因此,我们在Windows下一个小系统时,常用的登录环节无法在Linux下使用。今天,我就来帮大家解决这一问题。

#include<stdio.h>

 char getch()
 {   
    char c;
    system("stty -echo");
    system("stty -icanon");
    c=getchar();
    system("stty icanon");
    system("stty echo");
    return c;
 }   
 void main()
 {   
    int i;
    char a[21];
    char ch;
    printf("请输入密码:");
    for(i=0;i<20;i++)
    {
        ch=getch();
        if(ch=='\n')
        {
            a[i]='\0';
            break;
        }
        putchar('*');
        a[i]=ch;
    }
    if(i==20)
        a[20]='\0';
    printf("%s\n",a);
 } 

相关推荐