>Привет! Всем! Подскажите, пожалуйста, замена строки в файле на более длинную.
>Например:
>ABC
>XYZ
>
>заменяю на
>ABCDEFJHIG
>
>В РЕЗУЛЬТАТЕ
>ABCDEFGHIG
>встамляемая строка, съедает(заменяет) последующие символы,
>которые мне не нужно заменять
>
>использование временного файла единственный способ или нет?
>и как это делается?
>
>
>
>
Доброе утро. Все зависит от того, что вы используете. Например Perl делает это без проблем. Я догадываюсь, что речь идет о Си, Си++, Java или каком-то похожем языке. Тут можно использовать много алгоритмов, временный файл, динамическую памяти и так далее. Но конечно, если вы нашли смещения интересующей вас строки и начнете с того места записывать что-то другое, то старые данные затрутся.
Как одно из решений, как мне кажется, более подходящих для текстовых файлов, это построчное считывание с помощью getline, замена строки (можно использовать регулярные выражение или просто std::string.replace или что-то в этом роде) потом запись этой строки в другой файл.