Olá , tenho andado a programar umas coisas em C e precisava de um código que me lê-se coisas do ficheiro txt ignorado outras:
por exemplo , tenho isto no ficheiro txt:
nome: teste1
local: porto
Queria dar output só de "teste1" e "porto"
No entanto , eu arranjei um código que me fornece essa informação:
int main(){
char linha[1020];
char teste1[1020];
char teste2[1020];
FILE *fp;
fp= fopen("cinemas.txt", "r");
fgets(linha,sizeof(linha),fp);
linha[strlen(linha)-1]=0;
strcpy(teste1, &linha[6]);
fgets(linha,sizeof(linha),fp);
linha[strlen(linha)-1]=0;
strcpy(teste2, &linha[7]);
printf("%s\n",teste1);
printf("%s",teste2);
fclose(fp);
return 0;
}
Mas não percebo o porquê dele funcionar! supostamente o sizeof() contava o número de bytes que a memória estava a guardar para a string .
Se alguém me esclarecesse detalhadamente este código ficava imensamente grato!