User and password validation in C

0

I'm making a game that needs authentication to play. How do I validate user and password saved in a .txt file?

The code I've developed so far is this:

void login(){
int escolhe_dificuldade(); // função para selecionar dificuldade do jogo

FILE *pont_arq;
     pont_arq = fopen("arquivo_palavra.txt", "r");// arquivo onde esta armazenado nome,senha de acesso por linhas.
     if(pont_arq == NULL) {
     printf("Erro na abertura do arquivo!");
     return 1;
}
char usuario[20]; 
char senha[20],string2[100],string3[100];



printf(" Digite o usuario: ");
    scanf("%s", usuario);
    printf(" Digite a senha: ");
    scanf("%s", senha);
     printf("\n");
     printf("\n");

     while( (fscanf(pont_arq, "%s %s", &string2, &string3)) != EOF ) {

        //strcpy(string2, usuario);
        //strcpy(string3, senha);

        if ( (strcmp("%s" == string2 && "%s" == string3)) ) {

            printf("\nBem-Vindo!\n");
            playCPU(escolhe_dificuldade());
        } else {

            printf("\nSeu login ou senha estão errados!");

        }

    }


    fclose(pont_arq);    


  }
    
asked by anonymous 27.05.2017 / 16:30

1 answer

1

The first step to not having your authentication failures is to define how your file will be stored where the login and password will be stored. One line the user and the next one the password?

Correct scanf:

scanf("%s", &usuario);
scanf("%s", &senha);

Try this code:

if ( ( strcmp( string2, usuario) == 0) &&
     ( strcmp( string3, senha ) == 0 ))
{
    // OK
...
}
    
31.05.2017 / 17:06