Ir ao conteúdo

Posts recomendados

Postado

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
Postado

@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 é.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!