Хотя мне не ясно, как это не работает, я могу предположить , что в файле содержится больше содержимого, чем просто 5 строк (возможно, еще одна новая строка), что приводит к оценке условия while
в true
, заставляя цикл for
прочитать 5 строк (что приведет к сбою и ничего не прочитать) и заменить правильные значения в массиве строк дрянными (пустая строка).
Вместо того, чтобы иметьвнешний цикл while
, вы, вероятно, хотите добавить условие в сам цикл for
;что-то вроде:
for (i=0;i<5 && myfile.good();i++)
{
getline (myfile,line);
player[i] = line;
}