输入时隐藏密码,只显示*
时间: 2023-08-16 15:06:07 浏览: 75
好的,你可以使用 C 语言提供的 `getch()` 函数和 `putchar()` 函数来实现输入密码时隐藏密码的效果,只显示星号 `*`。以下是示例代码:
```c
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX_USERNAME 20
#define MAX_PASSWORD 20
int main()
{
char username[MAX_USERNAME];
char password[MAX_PASSWORD];
char correct_username[] = "admin";
char correct_password[] = "password";
printf("Please enter your username: ");
scanf("%s", username);
printf("Please enter your password: ");
int i = 0;
while (i < MAX_PASSWORD)
{
password[i] = getch();
if (password[i] == '\r') // 如果输入回车键,则结束输入
{
break;
}
putchar('*'); // 显示星号
i++;
}
password[i] = '\0'; // 在密码末尾添加空字符,使其成为字符串
printf("\n"); // 输入完毕后换行
if (strcmp(username, correct_username) == 0 && strcmp(password, correct_password) == 0)
{
printf("Login successful!\n");
}
else
{
printf("Incorrect username or password.\n");
}
return 0;
}
```
在这个示例代码中,我们使用了 `getch()` 函数来读取用户输入的字符,但不会在屏幕上显示出来,然后使用 `putchar()` 函数显示星号 `*`。当用户输入回车键时,输入密码结束。最后,我们在密码末尾添加了一个空字符,将其转换为字符串。
这样,用户输入密码时,就可以隐藏密码,只显示星号 `*`,提高了密码的安全性。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)