В файле всего 3 строки:
nstructfile2
АБВ
4
Однако getline почему-то бесконечно читает файл и ничего не возвращает переменной spec[i].name даже на первой строке (которая в файле – вторая)
rd.open(fn + "2");
if (!rd) {
rd.close(); clr(red); printf("\nОшибка! Невзоможно открыть таблицу специальностей"); Sleep(3000); Cont();
}
rd >> automata;
if (strcmp(automata, "nstructfile2") != 0)
{
rd.close(); clr(крас); printf("\nОшибка! Таблица специальностей поверждена"); clr(); Cont(); switch (uchar OMG = Cont()) { case '1':goto rewrite_file; case '2': op = '0'; }
}
else {
for (i = 0; !rd.eof(); i++)
{
getline(rd, spec[i].name); rd >> spec[i].mes; n2++;
}
bar(3);
rd.close();
Почему так происходит и как это исправить?