我的意思是我希望输入像登录Linux时输入密码一样不可见。
如何在Linux和Windows下的C语言中实现它。
谢谢

最佳答案

stty(1)在Linux中为我工作

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

int main(void) {
  char buf1[100], buf2[100];
  size_t len1, len2;

  system("stty -echo");
  printf("Enter Password: ");
  fflush(stdout);
  fgets(buf1, sizeof buf1, stdin);
  len1 = strlen(buf1);
  if (len1 && buf1[len1 - 1] == '\n') buf1[--len1] = 0;
  puts("");

  system("stty echo");
  printf("Enter Password again: ");
  fflush(stdout);
  fgets(buf2, sizeof buf2, stdin);
  len2 = strlen(buf2);
  if (len2 && buf2[len2 - 1] == '\n') buf2[--len2] = 0;

  puts("\n\n");
  printf("First password: [%s]\n", buf1);
  printf("Second password: [%s]\n", buf2);
  return 0;
}

10-04 11:18