大家好我必须在C中做简单的登录程序,我有一个问题是保存用户名,全名和密码,因为我需要选择' 1'注册和' 2'登录但总是当我退出控制台并尝试读取我的文件时,一切都消失了。
#include <stdio.h>
int main() {
FILE *f = fopen("users.txt", "w+");
if (f == NULL) {
printf("N/A");
exit(1);
}
int choose,
username[15],
fullName[20],
password[15],
// confirmPassword[15];
printf("Welcome!\n");
printf(" 1: Sign up\n 2: Sign in\n");
printf("--------------------------------\n");
scanf("%d", &choose);
if(choose==1) {
printf("Username: ");
scanf("%s", &username);
printf("Full name: ");
scanf("%s", &fullName); /// BECAUSE OF SPACE IT COUNTS LIKE A PASSWORD
printf("Password: ");
scanf("%s", &password);
fprintf(f, "%s\n%s\n%s", username, fullName, password);
}
if(choose==2) {
char c;
printf("Username: ");
while( c != EOF) {
c = fgetc(f);
printf("%c",c);
}
}
fclose(f);
return 0;
}
我也要处理HASH,但我会自己尝试。并帮助///评论!
答案 0 :(得分:0)
根据之前的评论,以及我的想法,以下是您可以修复代码的方法: 1.使用int c或unsigned int c声明c变量。 2.设置c tp是(不管它不是EOF); 3. make while while循环检查EOF。