Ir ao conteúdo
  • Cadastre-se

ajuda em c ficheiros


Posts recomendados

este programar e para utilizador escrever uma palavra e devolver o numero que cotem o ficheiro essa palavra. Nao me esta a contar bem as palavras

 

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

int main()
{
    FILE *f;
    int c=0;
    char s[100];
    char t[30000];
    f=fopen("texto.txt","r");
    if(f==NULL)
        printf("Erro na abertura do ficheiro!\n");
    else
        printf("O ficheiro abriu com sucesso\n");
    printf("Escreva a palavra que quer procurar no ficheiro:\n");   
    scanf("%s",s);
    while(fscanf(f,"%s",t)==1)
        if(strcmp(s,t)==0)
            c++;
    printf("A palavra escrita repete-se %d vezes\n",c);
    return 0;
}

Link para o comentário
Compartilhar em outros sites

Você pode criar uma string temporária para guardar as palavras que serão comparadas com o que foi digitado.

A ideia é a string temporária guardar palavras como o tamanho máximo da palavra digitada, ou com tamanhos variados marcados pelo espaço como delimitador (respeitando o tamanho máximo).

#include<stdio.h>#include<string.h>int main(){    FILE *fp;    int conta = 0, tam, flag = 0;    char palavra[100], letra;        if((fp = fopen("texto.txt", "r")) == NULL)        puts("Erro na abertura do ficheiro");    else        puts("O fichero abriu com sucesso");    printf("Escreva a palavra: ");    scanf("%s", palavra);    tam = strlen(palavra);    char temp[tam + 1];    while(!feof(fp)){        letra = getc(fp);               temp[flag] = letra;        if(letra == ' ' || flag == tam){            temp[flag++] = '\0';                         if(!strcmp(temp, palavra)) conta++;            flag = - 1;                }            flag++;    }    printf("\n A palavra %s aparece %d vez(es)\n", palavra, conta);    return 0;}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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