我最近开始学习 C 并尝试编写一个密码数据保护程序。我正在编写一个函数,该函数应该测试一个文件 password.txt 是否存在,如果不存在,它将获得一个空值,然后要求用户设置一个主密码并重复。但是它不允许用户重复密码。有小费吗? - 干杯(记住只有 C 而不是 C++)
/*Headers*/
#include <stdio.h>
#include <stdlib.h>
#define MAX_LENGTH 99
int main(void){
/*Variable Declaration*/
char password[] = "Lakaka";
masterPassword();
printf("Welcome to Fort-Knox.");
getchar();
return 0;
}
int masterPassword(void){
/*Password Comparison Variables*/
char password[MAX_LENGTH];
char password1[MAX_LENGTH];
FILE*fp;
if (fp == NULL){
printf("Choose a master password:\n");
scanf("%c", password);
printf("Please repeat password:\n");
scanf("%c", password1);
if (password == password1){
printf("Password Accepted.");
fp = fopen("password.txt", "w+");
printf("File Created");
fclose(fp);
return 0;
}
}
}
最佳答案
在读取字符串时,使用 %s
而不是 %c
作为格式说明符。 %c
只读取一个字符。
关于c - scanf 没有响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140892/