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

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

    1 #include<stdio.h>

    2 char getch()
    3 {    
    4     char c;
    5     system("stty -echo");
    6     system("stty -icanon");
    7     c=getchar();
    8     system("stty icanon");
    9     system("stty echo");
   10     return c;
   11 }    
   12 void main()
   13 {    
   14     int i;
   15     char a[21];
   16     char ch;
   17     printf("请输入密码:");
   18     for(i=0;i<20;i++)
   19     {
   20         ch=getch();
   21         if(ch=='\n')
   22         {
   23             a[i]='\0';
   24             break;
   25         }
   26         putchar('*');
   27         a[i]=ch;
   28     }
   29     if(i==20)
   30         a[20]='\0';
   31     printf("%s\n",a);
   32 }          

你可能感兴趣的:(c,linux,linux,shell)