GabrielCardelli Postado Novembro 28, 2008 Denunciar Share Postado Novembro 28, 2008 (editado) Como ler arquivos txt e fazer pequisas nele?no caso eu usaria um ponteiroFILE *txttxt= fopen ("nome.txt", "r+");1° parte seria assim né?e depois?Oque eu usaria?EX: eu tenho um arquivo com varias frasesA bola é verdeA bola é azulA bola é rosano casocomo eu faria pra achar todasas frases que tivessea palavra "bola"?E no caso como jogar todas elas direto pra impressão?Abraço Editado Novembro 28, 2008 por GabrielCardelli Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ark Postado Novembro 28, 2008 Denunciar Share Postado Novembro 28, 2008 (editado) #include <stdio.h> #include <string.h> void procura(char *str, FILE *fp){ int pos_atual, tam = strlen(str)+1; char ch, word[tam]; while (!feof(fp)){ pos_atual = SEEK_CUR; if(*str==(ch=getc(fp))){ fseek(fp, -1, pos_atual); fgets(word, tam, fp); if(!strcmp(word, str)){ printf("Palavra encontrada: %s", word); return; } pos_atual -= tam-1;; } } printf("A palavra digitada não foi encontrada."); } main(){ FILE *fp; char word[15], arq[15]; printf("digite o nome do arquivo que você deseja ler: "); scanf("%s", arq); fp = fopen(arq, "r+"); printf("Digite a palavra que queira buscar no arquivo %s: ", arq); scanf("%s", word); procura(word, fp); getch(); }A função aí em cima procura() vai procurar pela string str no arquivo fp, onde tam é o tamanho da string. A função vai ler caracter por caracter até achar um que coincida com o primeiro caracter da string, depois faz-se a comparação com strcmp() que se retornar zero, ou seja, se as strings forem iguais, vai escrever que achou e retorna pra main. Caso as strings não sejam iguais, pos_atual vai ser decrementada com tam-1 passando assim pro caracter sucessor, pra fazer denovo a comparação com o primeiro caracter da string até encontrar e assim ver se achou denovo, e tal.Espero ter ajudado.Abraço. Editado Novembro 28, 2008 por Ark Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
GabrielCardelli
Como ler arquivos txt e fazer pequisas nele?
no caso eu usaria um ponteiro
FILE *txt
txt= fopen ("nome.txt", "r+");
1° parte seria assim né?
e depois?
Oque eu usaria?
EX: eu tenho um arquivo com varias frases
A bola é verde
A bola é azul
A bola é rosa
no casocomo eu faria pra achar todasas frases que tivessea palavra "bola"?
E no caso como jogar todas elas direto pra impressão?
Abraço
Editado por GabrielCardelliLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.