Ваш цикл, вероятно, выполняется слишком много раз.file.eof()
не вернет false до тех пор, пока вы не попытаетесь прочитать, находясь в конце файла.Вы, вероятно, захотите поставить проверку между вызовом getline
и split
:
getline(file, line);
if (!file.eof())
roughInput.lines[i].split(line);
и соответствующим образом исправить логику цикла.расти roughInput.lines
динамически, так что вы не получите ошибку сегмента, если файл длиннее, чем вы ожидаете.