Função strtok

1. Função strtok

Perfil removido
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);
}



  


2. Re: Função strtok

Paulo
paulo1205

(usa Ubuntu)

Enviado em 05/07/2013 - 04:39h

A função strtok() modifica a string sobre a qual você a invoca, substituindo o separador pelo byte nulo que marca o final da string.

Se você quiser buscar partes da string sem a modificar, deve usar outro método de busca. Talvez strchr(), strrchr(), strspn(), strcspn() e strstr() a ajudem.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts