Есть файл. Текстовый. Надо заменить в нем все символы '^' на последовательность '**'. Как это сделать? Язык - си. Стандартными средствами - не сильно просто.
1) Берешь книгу красного дракона и читаешь главу посвещенную лексическому анализу. С особенным остервенением вчитываешься в те места где написано про регулярные выражения. Скажу сразу, что тебе нужен алгоритм генерации по регулярному выражению распознающего ДКА. На основе ДКА ты легко построишь лексический анализатор исходного текста. Это первое что тебе потребуется.
2) Считываешь исходный файл в промежуточный буфер. Блоками разумеется. Затем читаешь посимвольно из буфера. Символы прогоняешь через лексический анализатор, который должен проверить соответствие содержимого буфера и регулярника '^'.
3) Если совпадения зафиксировано не было, то сохраняешь буфер в требуемый фал целиком. Если было зафиксировано совпадение, то сохраняешь часть буфера до совпадения. Пишешь в файл '**'. И сохраняеншь часть буфера после совпадения