souro
(usa Kurumin)
Enviado em 05/04/2008 - 10:54h
pow tetem mas ta dando erro na pesquisa. nao mostra.
#include <iostream>
#include <fstream>
#include<cstdlib>
#include <iomanip>
#include <string>
using namespace std;
void leBusca(ifstream& messyFile, string s);
int main( )
{
ifstream file;
string shot;
//Abre o arquivo a ser consultado.
file.open("rel_candidatos.txt");
//Verifica se conseguiu abrir o arquivo.
if (file.fail( ))
{
cout << "Arquivo de Input falhou na abertura.\n";
exit(1);
}
//Le a subcadeia a ser encontrada.
cout << "Digite o nome: ";
cin >> shot;
//Chama a funcao para le o arquivo e consultar o que foi pedido
leBusca(file, shot);
//Fecha o arquivo de consulta.
file.close( );
cout << "End of program.\n";
system("PAUSE");
return 0;
}
void leBusca(ifstream& messyFile, string s)
{
string linha;//Armazena o conteudo da saida do getline.
char vet[666];//Armazena a copia convertida para char da linha.
char subcadeia[10];//Armazena a copia convertida para char da shot.
char *pc, *ps;//Guardam a posicao da linha e da subcadeia no arquivo.
int i=0;
//Converte a string s para char subcadeia.
strcpy(subcadeia, s.c_str());
//Percorre o arquivo e pesquisa na linha atual.
while(getline(messyFile,linha)){
strcpy(vet, linha.c_str());
pc=strtok(vet, "\t");
ps=strstr(pc, subcadeia);
if((ps != NULL) && (*pc == *ps)){
cout << linha << endl;
/* while(pc!=NULL){
cout << pc << "\t";
pc=strtok(NULL, "\t");
i++;*/
// if(i==2)
// cout << endl;
}
}
//cout << endl;
//i=0;
}
i++;
}