永久保存文本到文件并从中读取

时间:2017-12-14 21:18:19

标签: c

大家好我必须在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,但我会自己尝试。并帮助///评论!

1 个答案:

答案 0 :(得分:0)

根据之前的评论,以及我的想法,以下是您可以修复代码的方法: 1.使用int c或unsigned int c声明c变量。 2.设置c tp是(不管它不是EOF); 3. make while while循环检查EOF。