Zdravim, dostal se mi pod ruku program, který porovnává jména a hesla. Když do konzole zadáme jméno a heslo, porovná se s jménem a heslem v textovém dokumentu, který jsem si vytvořil. Je to tam zadané v tomto formátu: Petr; auto123 a takhle jsou vypsané pod sebou.
Program je zde:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
bool authorize(const char* login, const char* password) {
FILE* soubor = fopen("hesla.TXT", "r");
char jmeno[10], heslo[33];
int nenikonec;
bool result = false;
while(true) {
nenikonec = fscanf(soubor, "%9[^\n;]; %32s\n", jmeno, heslo);
if(nenikonec!=2) break;
if(strcmp(jmeno,login) ==0 && strcmp(heslo,password) ==0) {
result = true;
break;
}
}
fclose(soubor);
return result;
}
void dialogue(const char* login, const char* password) {
printf("Zadej login: ");
scanf("%31s", login);
printf("Zadej password: ");
scanf("%32s", password);
}
int main() {
char login[32], password[33];
dialogue(login,password);
bool authorized = authorize(login,password);
if(authorized){
puts("Autorizovana sekce"); }
else {
puts("Pristup odmitnut"); }
getchar();
getchar();
}
Prošel jsem si celý program, ale není mi jasné, co dělá tento úsek: if(nenikonec!=2) break; , hlavně tedy proč je tam !=2 .
Díky za radu