txt
을 기반으로 간단한 로그인 시스템을 만들려고합니다. file
이C 프로그래밍 로그인 시스템
1 1
2 2
3 3
처럼 보인다하지만 내 코드 검사 txt
단지 마지막 줄이 아닌 각 라인.
int write_login_and_pass() {
char login[30], pass[30];
int select3;
printf("\n|---------Login:");
scanf("%s", login);
printf("|---------Password:");
scanf("%s", pass);
sign_In(login, pass);
_getch();
system("PAUSE");
return 0;
}
int sign_In(char login[30], char pass[30]) {
FILE *file;
char user2[30], pass2[30], fc;
file = fopen("Customers.txt", "r");
char arra[128][128];
if (file != NULL) {
char line[128];
do {
fscanf(file, "%29s %29s", user2, pass2);
}while (fgets(line, sizeof line, file) != NULL);
if ((strcmp(login, user2) == 0) && (strcmp(pass, pass2) == 0)) {
printf("\n>>>User and password correct!<<<\n");
fc = main_menu();
}
else {
printf("\n>>>User or password incorrect!<<<\n");
system("PAUSE");
fc = sign_In(login, pass);
}
}
else printf("File was not founded");
fclose(file);
system("PAUSE");
return 0;
}
[fscanf] (http://en.cppreference.com/w/c/io/fscanf)와 같은 모든 호출 된 함수의 설명서를 자세히 읽으십시오. e 반환 값을 확인해야 함). 모든 경고 및 디버그 정보로 컴파일하십시오 (예 : [GCC] (http://gcc.gnu.org/)를 사용하는 경우'gcc -Wall -g' ...). 코드를 개선하여 경고가 표시되지 않도록하십시오. ** 디버거 **'gdb'를 사용하십시오. –
파일을 읽는 루프를 자세히 살펴보십시오. 그리고 직접 볼 수 없다면 [작은 프로그램을 디버깅하는 방법에 대해 읽어보십시오.] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) 디버거를 사용하여 한 줄씩 코드를 단계별로 실행하는 방법을 배웁니다. –
* * fix-my-code * 질문이 주제와 관련이 없습니다. –