-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;
}
나는 해시도 처리해야하지만 나는 스스로 시도 할 것이다. /// 덧글에 대해 도와주세요!
의견에 문제가 있습니까? –
@ GerardoBLANCO 문제는 내가 성명을 입력 할 때 공간을 사용해야 할 때 & 비밀번호에 두 번째 단어를 저장하는 프로그램입니다. – jovkm
은 https://stackoverflow.com/q/47816312/2410359처럼 보입니다. – chux