Ir ao conteúdo
  • Cadastre-se
Estudante0123

C Ler string com mais de uma linha, palavra por palavra

Recommended Posts

Estou querendo fazer um código que peça ao usuario um arquivo e uma palavra. A partir disso ele vai verificar e apresentar quantas vezes essa palavra foi apresentada. Mas estou travando na hora de ler o arquivo por palavras. A principio pensei em usar a função fgetc, mas ler caractere por

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

int main (){

FILE *arquivo;
char nome [100], palavra [100], aux;
int cont = 0;

printf("Digite o nome do arquivo: ");
scanf ("%s", nome);

arquivo = fopen (nome, "r");

printf ("Digite a palavra a ser pesquisada: ");
scanf("%s", palavra);

while ( (fgets (nome, sizeof nome, arquivo)) !=  NULL )
      if (strcmp (palavra, nome) == 0)
          cont ++;


     printf ("A palavra apareceu  %i vezes", palavra);
return 0;
}

e não iria achar a palavra. Usei uma função fgets, mas acho que ela para na quebra de linha, e não estou sabendo o porque. Alguém poderia me ajudar? Obrigado

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use fscanf, funciona como scanf só que você coloca 1 parâmetro a mais que seria o arquivo.

fscanf(arquivo, "%s", nome);

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×