Bom dia galera, estou com um problema para passar as informações presentes em um arquivo para um vetor de variáveis struct. O que quero fazer é o seguinte, como os dados presentes no arquivo txt estão salvos de forma ordenada gostaria de conseguir armazenar essas informações em grupos(uma struct contendo duas strings e um inteiro).
O arquivo txt está escrito de maneira que sua primeira linha é um titulo de uma musica, sua segunda linha é o número de linhas da letra da música que vai ser apresentada e por final são escritas mais algumas linhas com a letra da música. Segue um exemplo:
rock.txt
Estou tentando armazenar isso em uma struct to tipo
typedef struct{
char titulo[100]; /*Essa armazena o titulo da música*/
int tamanho; /*Essa coleta a informação para a próxima leitura*/
char letra[100]; /*Essa armazena um certo numero de linhas determinado pela variável tamanho.*/
}rock;
Até o momento estou sem sucesso, tentei fazer dessa forma:
#include<stdio.h>
#include<stdlib.h>
typedef struct{
char titulo[100];
int linha;
char letra[200];
}musica;
int main(){
int j=0;
int i;
musica panca[10];
FILE *file;
file=fopen("rock.txt", "r");
while(j<10){
fgets(panca[j].titulo,100,file);
fscanf(file, "%d", &panca[j].linha);
for(i=0;i<=panca[j].linha;i++){
fgets(panca[j].letra,200,file);
}
j++;
}
fclose(file);
printf("%s", panca[5].titulo);
return(0);
}