stm32输入密码并存储到数组中,然后与原密码比较的代码
时间: 2023-08-18 15:06:57 浏览: 131
下面是一个简单的示例代码,用于将从键盘输入的密码存储到数组中,并将其与预设的密码进行比较:
```c
#include "stdio.h"
#include "string.h"
#define PASSWORD_LENGTH 6
int main(void)
{
char password[PASSWORD_LENGTH + 1]; // 用于存储密码的字符数组
char correct_password[] = "123456"; // 预设的正确密码
int i;
printf("Please enter password (length %d): ", PASSWORD_LENGTH);
for (i = 0; i < PASSWORD_LENGTH; i++)
{
password[i] = getchar(); // 从键盘读取一个字符
putchar('*'); // 输出一个星号,代替输入的字符
}
password[PASSWORD_LENGTH] = '\0'; // 在数组末尾添加字符串结束符
if (strcmp(password, correct_password) == 0) // 比较两个字符串是否相等
{
printf("\nPassword correct!\n");
}
else
{
printf("\nPassword incorrect!\n");
}
return 0;
}
```
在上面的示例代码中,我们先定义了一个字符数组 `password` 用于存储从键盘输入的密码,数组长度为预设的密码长度加1(因为需要在数组末尾添加一个字符串结束符)。然后通过 `getchar()` 函数从键盘读取一个字符,并用 `putchar()` 函数输出一个星号,代替输入的字符。循环读取和输出,直到读取了预设密码长度的字符为止。最后在数组末尾添加字符串结束符。
接下来,我们使用 `strcmp()` 函数将从键盘输入的密码和预设的正确密码进行比较。如果两个字符串相等,则输出密码正确的提示信息;否则输出密码错误的提示信息。
阅读全文