Olá pessoal, o problema é que tenho um arquivo texto com milhões de caracteres. Em um determinada string que eu começar a gravar os inteiros em uma struct e imprimir, até ai tudo bem, mas quando eu mando ela parar em outra string que eu determino ele não para, e imprime e salva todo o resto do conteúdo.
Ex.: Arquivo.txt contem:
chocolate bolo sorvete lasanha
caneta, blusa, calça, dinheiro, diversão
cinema teatro música filme
12 34 32
54 65 43
98 09 87
76 86 53
21 14 56
bombom água coca-cola seriados
computador internet orkut msn
twitter blog férias praia sol mar
Eu determino a palavra filme, depois dela irei começar a imprimir e a salvar os inteiros na minha struct, o problema é que ele salva até a palavra "mar"
e eu determino até “bombom”, mas não da certo. Olha a minha função ta aqui.
int ler_arquivo()
{
char inicio[] = "filme";
char fim[] = "bombom";
char str[100];
int c;
FILE *fp;
fp = fopen("arquivo.txt","r");
if(!fp)
exit(1);
int i;
int num;
while (fgets(str,sizeof(str),fp)!=NULL){ //lê linha a linha do ficheiro
if (strstr(str,inicio)!=NULL) //Verifica se uma string existe dentro de outra
while((c = getc(fp) ) != EOF){
if (strstr(str,inicio)!=NULL) //Verifica se uma string existe dentro de outra
//struct
break;
else{
printf("%c",c);
}
}
}
}