Ошибка при повторном обращении к файлу
Имеется функция, в которой я вызываю остальные функции в цикле, цикл будет повторяться пока этого желает пользователь. Допустим, первая итерация пройдёт успешно, но на второй появляется ошибка "Необработанное исключение по адресу 0x0F53234C (msvcp140d.dll) в ConsoleApplication1.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xEBE2FF20." Ошибка появляется именно когда доходит до выполнения строчки ifstream file("Словарь.txt");
Вот примерный код:
void write() {
ifstream file("Словарь.txt");
ofstream file_out("Результат.txt");
file_out << "Представляем к Вашему вниманию:\n- Исходный словарь:\n\n ";
int index(0);
while (!file.eof()) {
file.getline(line, 30);
while (line[index] != '\0') {
file_out << line[index];
index++;
}
file_out << endl;
index = 0;
}
file.close();
file_out.close();
}
void repeat_program(){
bool condition = true;
int choice_number;
char search_letter;
while (condition) {
write();
cout << "\nХотите продолжить?\n 1. Хочу продолжить.\n 2. Хочу выйти.\nВаш выбор: ";
cin >> choice_number;
if (choice_number == 1) {
if (search_letter != 'А') {
search_letter = 'А';
overwrite_dict_with_new_search_letter(search_letter);
}
}
else {
cout << "\nРабота завершена." << endl;
condition = false;
}
}
}