
removido
(usa Nenhuma)
Enviado em 29/06/2013 - 10:41h
Olá pessoal preciso de ajuda...
fiz um programa que faz buscas em arquivos...
quando ele acha a linha que contém a informação que a pessoa digitou
ele deve imprimir toda a linha, porém só está imprimindo o primeiro campo da linha...
alguém poderia me ajudar?? Obrigada.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *arq_info;
char gene[30];
char linha[1024];
int cont1,cont2;
char *res1,*res2;
res1=NULL;
res2=NULL;
arq_info=fopen("test_inf.txt","r");
if(arq_info==NULL)
{
printf("Não foi possível abrir o arquivo!");
}
else
{
printf("Digite um gene:");
scanf("%s",gene);
while(fgets(linha,1024,arq_info)!=NULL)
{
res1=strtok(linha,"\t"); /* a função strtok quebra a linha com base no delimitador \t*/
cont1=0; /* esta variável será utilizada para contar a quantidade de elementos entre \t */
while(res1!=NULL)
{
cont2=0;
if((cont1==1)&&(strcmp(gene,res1)==0))
{
printf("%s\n",res1);
res2=strtok(linha,"\t");
while(res2!=NULL)
{
printf("%s\n",res2);
res2=strtok(NULL,"\t");
cont2++;
}
}
res1=strtok(NULL,"\t");
cont1++;
}
res1=strtok(linha,"\t");
cont1=0;
}
}
fclose(arq_info);
}