У меня есть текстовый файл с блоками студенческих данных. E.g.:
student number
name
number of subjects
subject code 1
subject code 2
subject....... etc
student number
name
..
.. etc
Моя проблема возникает, когда я хочу прочитать коды предметов, поскольку в каждом блоке будет разное количество предметов, в которых мне нужно просто прочитать каждый предмет, пока не останется больше предметов. Там будет пустая строка. Поэтому я хочу создать цикл, который будет читать до новой строки.
Кстати, каждый блок сохраняется в массив структур.
Попытался использовать strcmp
, но не был уверен, что я делал, иначе понятия не имею.
for(int j = 0; j < 8; j++) {
fscanf(fptr,"%s",gRecs->subject[j].subjectcode);
fscanf(fptr,"%d",&gRecs->subject[j].enrolnmentstat);
fscanf(fptr,"%d",&gRecs->subject[j].mark);
printf("%s\n",gRecs->subject[j].subjectcode);
printf("%d\n",gRecs->subject[j].enrolnmentstat);
printf("%d\n",gRecs->subject[j].mark);
}
Мне нужно добавить цикл while внутри цикла for, чтобы он сбрасывался при обнаружении пустой строки.
Цикл for таков, что каждый из них сохраняется в отдельном массиве структур, 8 - это сумма, заданная назначением.