在C语言中设置一个字符串密码的方法包括:使用char数组存储、输入时隐藏字符、进行基本的加密。 其中,最常见的做法是使用char
数组存储字符串,并通过控制台输入函数getch()
隐藏输入字符。为了进一步保护密码,通常还会进行一些简单的加密操作。下面,我们将详细描述这些方法,并提供相关的代码示例。
一、使用char数组存储字符串
在C语言中,字符串实际上是字符数组。因此,设置一个字符串密码的第一步是定义一个字符数组。以下是一个简单的示例:
#include <stdio.h>
#include <string.h>
int main() {
char password[20];
printf("Enter your password: ");
scanf("%19s", password); // 读取用户输入的密码,并存储到字符数组中
printf("Your password is: %sn", password);
return 0;
}
在上述代码中,我们定义了一个char
数组password
,并使用scanf
函数从用户输入中读取密码。
二、输入时隐藏字符
为了在输入密码时隐藏字符,可以使用getch()
函数。getch()
函数在输入字符时不会将其显示在控制台上,这在输入密码时非常有用。以下是一个示例:
#include <stdio.h>
#include <conio.h>
int main() {
char password[20];
int i = 0;
char ch;
printf("Enter your password: ");
while((ch = getch()) != 'r') { // 读取字符直到用户按下回车键
if(ch == 'b' && i > 0) { // 处理退格键
printf("b b");
i--;
} else if(ch != 'b') {
password[i++] = ch;
printf("*"); // 显示星号代替输入的字符
}
}
password[i] = '