Ошибка при повторном обращении к файлу

Имеется функция, в которой я вызываю остальные функции в цикле, цикл будет повторяться пока этого желает пользователь. Допустим, первая итерация пройдёт успешно, но на второй появляется ошибка "Необработанное исключение по адресу 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;
        }

}

}


Ответы (0 шт):