Ir ao conteúdo
  • Cadastre-se

C Comparação de string com string em arquivo.


PenseC

Posts recomendados

Olá, pessoas inteligentes. Eu estava tentando aplicar um pouco do que estava estudando aqui sobre linguagem C e, para isso, decidi fazer um programa que o usuário deve inserir um login e o programa deveria comprar esse login (string) inserida pelo usuário com logins(strings) que estavam em um documento de texto que criei. Como se fosse uma validação de login. Caso o login digitado fosse igual a algum dos logins existentes no documento de texto, o programa deveria pedia a senha. O código que fiz foi o seguinte:

#include <stdio.h>
#include <stdlib.h>


int main()
{

  char login[30];
  char *log;
  int cp=0;


    printf("Digite seu login:\n");
    scanf("%s",login);
    log=login;

    FILE*f;
    f=fopen("login.txt", "r");

             while(*log!='0/'&& *f!='0/')
             {
                 if(*log!=*f)
                 {
                     cp++;
                 }
             log++;
             f++;
             }
            if(cp==0)
            {
                printf("Digite sua senha");
            }


    return 0;
}

Nessa situação o código não compila. Aparece a seguinte mensagem:

image.thumb.png.b0b0c9c987bb22b7370a148b5613d585.png

Então eu experimentei tirar o sinal ' * ' do f, tentando seguir o que entendi da mensagem de erro. Quando tiramos o asterisco de ' f ', o programa compila, mas não aparece a mensagem para digitar a senha.

Se alguém puder mostrar os meus erros para eu aprender, ficarei muito grato.

Desde já, obrigado.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@PenseC Você abriu o arquivo em modo de leitura, mas isso não significa que você leu o arquivo. Use fgets() para tal.

E há outra história, o login que você quer pode não estar na primeira linha, então você teria que ler até encontrar.

2 horas atrás, PenseC disse:

while(*log!='0/'&& *f!='0/')

\0 é diferente de 0/, o primeiro é o caractere nulo e o segundo não é.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!