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

问题描述 投票:-1回答:1

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

c
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.