Você está aqui: C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar a existência de uma palavra ou frase em um arquivoQuantidade de visualizações: 10652 vezes |
|
Em algumas situações precisamos pesquisar a ocorrência de uma palavra ou frase em um arquivo. Nesta dica eu mostro como isso pode ser feito. A idéia é varrer o arquivo caractere por caractere usando a função fgetc() e, quando encontrado o caractere que se iguala ao primeiro caractere da string sendo pesquisada, a comparação caractere por caractere se inicia. Eis o código completo e comentado: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *arquivo = fopen("c:\\testes.txt", "r");
int caractere; // caractere a ser lido
// string a ser pesquisada
char pesquisa[] = "Java";
// posicao de início da pesquisa
int pos = 0;
// status da pesquisa
int encontrei = 0;
// testa se o arquivo foi aberto com sucesso
if(arquivo != NULL){
// vamos usar um laço para ler o conteúdo do arquivo
// um caractere de cada vez
while((caractere = fgetc(arquivo)) != EOF){
// vamos verificar se o caractere atual se iguala ao
// primeiro caractere da string a ser pesquisada
if((caractere == pesquisa[0]) && (!encontrei)){
encontrei = 1; // podemos continuar a pesquisa a partir daqui
pos = 0;
}
if(encontrei){
if(caractere == pesquisa[pos]){
encontrei = 1; // continua a pesquisa
pos++; // incrementa a posição de busca
if(pos == strlen(pesquisa))
break;
}
else{
encontrei = 0;
}
}
}
fclose(arquivo); // libera o ponteiro para o arquivo
}
else
printf("Nao foi possivel abrir o arquivo.");
if(encontrei){
printf("A string pesquisada existe no arquivo");
}
else{
printf("A string pesquisada NAO existe no arquivo");
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




