C - 使这个程序可移植

时间:2016-02-17 22:15:56

标签: c unix conio

想法

扫描用户输入的密码并显示**********代替P@$$w00r_D

解释代码

while循环内

继续使用getch()扫描字符并将其放入数组password[],直到用户按return

代码

#include <stdio.h>
#include <conio.h>

#define TRUE 1 
#define P_MAX 25

int main(int argc, char* argv[]) {
   char password[P_MAX], ch;
   int i = 0;

   puts("Enter the password [MAX 25]: ");
   while (TRUE) {
      if (i < 0) {
         i = 0;
      }//end if
      ch = getch();

      if (ch == 13)//return
         break;
      if (ch == 8) // BACKSPACE
      {
         putch('b');
         putch(NULL);//Overwrite that character by NULL.
         putch('b');
         i--;//Decrement Current Track of Character. (i)
         continue;
      }//end if
          password[i++] = ch;
          ch = '*';
      putch(ch);
   }//end while

   printf("\nPassword Entered : %s", password);//test
   getch();
return 0;
}//end main

在Unix机器上编译

[ar.lnx@host Documents] $ gcc 115.c -o x
115.c:2:18: fatal error: conio.h: No such file or directory
compilation terminated.
[ar.lnx@host Documents] $

此代码在Windows上运行正常,但在Unix中运行不正常。 有什么帮助吗?

0 个答案:

没有答案