Localizando palavra em arquivo .txt c++

1. Localizando palavra em arquivo .txt c++

jhonatan
jhonk1

(usa Outra)

Enviado em 09/07/2012 - 18:29h

Olá!
Gostaria de saber como faço para pesquisar uma palavra ou frase em um arquivo .txt, e retornar a próxima linha!
Exemplo do arquivo.txt

nome um
jhonatan
nome dois
rafael
nome tres
peter

....
o que eu quero é quando eu digitar para pesquisar no meu arquivo.txt a palavra/frase 'nome dois' venha o nome rafael, e assim sucessivamente! quando eu digitar um nome que esta em uma linha n, venha a linha n+1, ou seja, quando eu digitar uma frase, ele localiza a frase e retorna a linha de baixo!
esse é o único problema, porque já sei fazer a gravação!
Desde já muito obrigado.



  


2. Re: Localizando palavra em arquivo .txt c++

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/07/2012 - 22:52h

Se você quiser mostrar apenas o número da posição é mais simples.

nome 3141592
fulano
...

Senão tem que criar um conversos de número prá formato extenso.
Tem um código prá isso e está guardado no site.




3. eu gostaria de fazer isso com frases

jhonatan
jhonk1

(usa Outra)

Enviado em 10/07/2012 - 13:25h

Tipo... eu coloquei esse só de exemplo, mas o que eu gostaria mesmo é se fosse com frase. Onde o usuário digita a frase e o programa pesquisaria no arquivo.txt a frase e retornaria a frase que estivesse logo abaixo.
exemplo:

onde fica Bora Bora?
Bora Bora é uma ilha do grupo das Ilhas de Sotavento do arquipélago de Sociedade na Polinésia Francesa.
O que foi Robert Oppenheimer?
Físico norte-americano que dirigiu o desenvolvimento da bomba atômica.

Eu gostaria de algo assim, mas não sei como fazer o reconhecimento(comparação) da frase do usuário com os das frases do arquivo.txt.


4. Re: Localizando palavra em arquivo .txt c++

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/07/2012 - 21:55h

Talvez fosse o caso de você usar expressões regulares.

Diria prá você ler alguma coisa sobre um programa chamado "sed".

Criar um arquivon de texto qualquer e ir treinando com "sed" prá entender como funciona.


5. Re: Localizando palavra em arquivo .txt c++

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 15/07/2012 - 12:16h

Simples... basta utilizar as funções strcmp, strncmp da biblioteca string.h, ftell e fseek.


6. Re: Localizando palavra em arquivo .txt c++

André
andrezc

(usa Debian)

Enviado em 15/07/2012 - 22:48h

Você não disse se quer fazer tudo usando somente os recursos oferecidos pela biblioteca padrão da linguagem C, ou se quer usar alguma outra API, como por exemplo, para usar expressões regulares.

Basicamente, o que você deve fazer é ler o arquivo normalmente, procurar pela entrada do usuário, e pegar o que vem depois do '\n'. Nesse caso você terá de usar a própria quebra de linha como separador.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts