stm32密码锁判断当输入密码长度超过预设密码长度条件时,返回0,密码匹配错误代码怎么写
时间: 2024-05-04 09:22:29 浏览: 123
基于STM32的简易密码锁
在 stm32 密码锁的判断中,可以使用字符串比较函数 `strcmp()` 来判断输入密码是否与预设密码一致。在比较之前,需要先判断输入的密码长度是否超过预设密码长度,如果超过,则返回 0,表示输入密码无效。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define PASSWORD "123456" // 预设密码
#define MAX_LEN 20 // 最大密码长度
int main()
{
char input[MAX_LEN+1];
int len;
printf("请输入密码:");
scanf("%s", input);
len = strlen(input);
if (len > MAX_LEN) {
printf("密码无效,长度超过 %d\n", MAX_LEN);
return 0;
}
if (strcmp(input, PASSWORD) == 0) {
printf("密码正确!\n");
} else {
printf("密码错误!\n");
}
return 0;
}
```
在以上代码中,如果输入的密码长度超过了 `MAX_LEN`,则会直接返回 0,否则会使用 `strcmp()` 函数来比较输入密码和预设密码是否一致。如果一致,则输出密码正确,否则输出密码错误。
阅读全文