После того, как вы прочитали количество имен (n_names
), вы можете malloc
достаточно памяти для хранения структур (например, my_file.names = malloc(sizeof(*my_file.names) * my_file.n_names);
).
Затем вы можете выполнить итерацию по своему файлу, malloc
-ing памяти для каждой строки по очереди, в соответствии с:
for (i = 0; i < my_file.n_names; i++)
{
int len;
fread(&len, sizeof(len), 1, fid);
my_file.names[i].text = malloc(len+1);
...
}