在C语言中不回显密码的解决方案包括:使用getch()
函数、使用终端控制命令、使用密码输入库。其中,使用getch()
函数是最常见的方法。
使用getch()
函数可以让程序在输入字符时不显示在屏幕上,适用于简单的控制台应用。该函数属于conio.h
库,通常在Windows系统下使用。下面将详细介绍这一方法。
一、使用getch()
函数
1、简介
getch()
函数是一个在控制台应用中常用的函数,能够从键盘读取一个字符并且不显示在屏幕上。这使得它成为输入密码时防止回显的常用工具。
2、如何使用getch()
首先,你需要在你的程序中包含conio.h
头文件。以下是一个简单的示例代码,展示了如何使用getch()
函数来输入密码。
#include <stdio.h>
#include <conio.h>
int main() {
char password[20];
int i = 0;
char ch;
printf("Enter password: ");
while((ch = getch()) != 'r') { // Enter key to finish
if (ch == 'b') { // Backspace key
if (i > 0) {
printf("b b"); // Erase character from console
i--;
}
} else {
password[i++] = ch;
printf("*");
}
}
password[i] = '