Как изменить символы в файле через putback? C++

Написал код, который читает файл посимвольно и необходимые символы меняет на нужные:

// m_stream - это std::fstream
void changeSymbolsTo(char from, char to) {

    char c;

    while (m_stream.get(c)) {

        if (c == from) {
            m_stream.putback(to);
        }

    }

    m_stream.flush();

}

В итоге открываю файл, а он не изменился. Сел в отладчик, дебаггер показывает, что все работает нормально. Символы определяются, putback их пихает обратно в поток и следующим символом становится тот, что пихнули в putback. То есть поток модифицируется так, как надо, но изменения на файл не применяются. Почему в данном случае не работает flush()? Ведь именно эта функция должна слить все изменения в файл?


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