Я не смог найти способ написать короткий ответ, поэтому я просто написал код, который сделает это здесь: http://gitlab.dotty.fr/dotty/read_matrix/tree/master
Код, который я написал, может читать из входного файла столько матриц, сколько вы хотите, и сохранять их в структуре. И я думаю, что вы можете изменить этот код, чтобы он соответствовал тому, что вы хотите сделать легко.
Если у вас есть какие-либо вопросы, пожалуйста, попросите меня уточнить.
Вот некоторая часть кода, чтобы показать, насколько простой является основным:
int main(int argc, char *argv[])
{
if (argc != 2) {
fprintf(stderr, "Usage: %s <mat_file>\n", argv[0]);
exit(EXIT_FAILURE);
}
FILE *file = fopen(argv[1], "r");
if (file == NULL) {
perror("fopen");
exit(EXIT_FAILURE);
}
while (mat_parse_next(file))
{
struct matrix *mat = mat_read(file);
mat_dump(mat);
mat_free(mat);
}
fclose(file);
return 0;
}