Jump to content

Recommended Posts

Posted

Olá pessoal estou aqui com um pequeno problema neste programa.

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

FILE *ler;

main() {
   if ((ler = fopen("Utilizadores test .txt", "r")) == NULL) {
       printf("Impossivel Abrir o ficheiro %s\n", "Utilizadores test .txt");
       exit(0);
   }
   char nome[20];
   char nome_scan[20];
   char pass[20];
   printf("Utilizador: ");
   scanf("%s", &nome);
   printf("Procurar por %s\n", nome);
   while (fscanf(ler, "%s %s", pass, nome_scan)!=EOF) {
       if (strcmp(nome, nome_scan) == 0) {
           printf("Utilizador: %s Password: %s\n", nome, pass);
       }
   }
   return (EXIT_SUCCESS);
}

Quando compilo e corro o programa, com o ficheiro criado e com dados, ele não faz o:

if (strcmp(nome, nome_scan) == 0) {
   printf("Utilizador: %s Password: %s\n", nome, pass);
}

corretamente.

Posted

olha bem para o valor de retorno da função fscanf : http://pubs.opengroup.org/onlinepubs/009604599/functions/fscanf.html

Upon successful completion, these functions shall return the number of successfully matched and assigned input items

isto que dizer que, o mais provável, é não estares a ler correctamente os dados do ficheiro

IRC : sim, é algo que ainda existe >> #p@p
Posted

mas o que acho esquisito e que sem eu substituir a variável nome por:

if (strcmp("Pedro", nome_scan) == 0) {[/size]
   printf("Utilizador: %s Password: %s\n", nome, pass);
}

fica a funcionar na perfeição

Posted (edited)

O programa tinha como objectivo, partir de um ficheiro criado noutro programa, fazer um pesquisa nesse ficheiro e mostrar quais os utilizadores com o mesmo nome.

o ficheiro contem uma lista de 40 e tais utilizadores e passwords ou seja

a25r8ds4 Joao
e5r4t7d4 Pedro
p8er7as4 Luis
......etc..........

:

Edited by andrejrc
Posted (edited)

e estas a escrever "Pedro" na consola quando pede o nome a pesquisar ?

edit :

bem .. foi dar uma vista de olhos melhor pelo o teu código:

printf("Utilizador: ");
/*scanf("%s", &nome);*/
scanf("%s", nome); // <---------------- sem &
Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.