Вернуться на обзорную страницу С++


Программа Ar_05.zip - исходники для компиляции и сборки.

Эта консольная программа откомпилирована и выполнена в 6-й версии
программы Microsoft Visual C++

Программа написана для вставки фрагмента текста перед словом "// Listing". Это мне надо было для перевода в html-вариант книги Либерти "С++".

Эта программа - утилита для программиста. Программным способом можно изменить слово вместо "// Listing" на другое слово, которое программа будет искать в текстовом файле fileFrom.txt. Текстовый Файл fileFrom1.txt, в котором находится текст для вставки тоже может иметь любое содержание.

Программа копирует из файла fileFrom.txt в файл fileTo.txt, но каждый раз перед словом "// Listing" вставляет фрагмент текста, копируемый из файла fileFrom1.txt Слово "// Listing" задано программным способом. А содержание текстовых файлов естественно можно изменять произвольно. Все вставки текста идут с новой строки. И после вставки текст опять начинается с новой строки.

Предусматривает все случаи. Когда ключевое слово "// Listing" находится в начале строки, в середине строки, в конце строки, а так же когда повторяется несколько раз в одной строке.

Программа считывает текстовый файл fileFrom.txt построчно в объект tmp класса string при помощи функции readline(). Затем объект tmp анализируется на предмет наличия в нем нужного слова "// Listing". Это делается при помощи функции find().

n = tmp.find(str); // найдем позицию вхождения

переменная n может иметь три основных варианта положения слова в строке.

1. Если такого слова в строке tmp нет (функция поиска возвращает значение n = -1), то эта строка tmp без изменений сразу копируется в новый текстовый файл fileTo.txt.

Если слово "// Listing" в строке tmp найдено, то определяется его местоположение (индекс) в строке tmp.

Затем идет три варианта положения слова в строке. В начале строки (функция поиска возвращает нулевое значение), в середине строки (функция поиска возвращает положительное значение, совпадающее с индексом первого вхождения слова в строку). Если слово word в анализируемой строке tmp встречается несколько раз, то в цикле обрабатывается этот вариант.


Hosted by uCoz