Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

"вставка" с "заменой" текста в файле. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Case http://www.cyberforum.ru/cpp-beginners/thread359061.html
Можно ли как то в конструкции switch case задавать условие например case n<0:и выполнить действие
C++ Поместить в массив с[m] коэффициенты произведения двух многочленов. В массивах a и b хранятся коэффициенты двух многочленов степеней k и l. Поместить в массив с коэффициенты их произведения. (Числа k, l, m - натуральные, m = k + 1; элементы массива с индексом i... http://www.cyberforum.ru/cpp-beginners/thread359057.html
Как запустить программу с параметрами? C++
Как запустить программу: srcds.exe ( путь D:\csserver\server) С параметрами: -console -game cstrike -port 27015 +maxplayers 24 +map de_dust2 +sv_lan 0 + log on -32bit -tickrate 66 . В консольном...
Массив объектов C++
Создать массив объектов разного типа невозможно. Но, наверное, можно создать массив объектов, поле которых, будет содержать указатель на объекты разных типов. Такое можно реализовать через...
C++ Определить количество чисел, встревающих в заданной матрице более одного раза http://www.cyberforum.ru/cpp-beginners/thread359038.html
Дана целочисленная прямоугольная матрица. Определить: 1) Количество строк, содержащих хотя бы один нулевой элемент 2) количества чисел, встревающих в заданной матрице более одного раза. Вот я...
C++ Vector string'ов и освобождение памяти Как известно вектор не освобождает память. В подавляющем большинстве случаев string работает на основе вектора (т.к. если использовать list - хранить на каждый байт по 2 указателя весьма не... подробнее

Показать сообщение отдельно
Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95

"вставка" с "заменой" текста в файле. - C++

01.10.2011, 18:59. Просмотров 980. Ответов 6
Метки (Все метки)

Здравствуйте.
Решил для обретения бесценного опыта написать свой простенький парсер конфигов.
Вообщем читает вполне себе читает конфиг.. пишет его... но вот столкнулся с вопросом, который вновинку и ума не приложу как это реализовать.

Надо мне сделать так, что если в конфиг пишутся две одинаковые строки, то одна другую "затирает".
Как это реализовать? емнип в классе fstream нету что то вроде find() чтобы найти вхождение строки в файл.


P.S. для большего пояснения, у меня конфиг по структуре выглядит примерно так

Код
section "default"
value1 "1"
value2 "anything else"
more "something"
section может быть сколько угодно много, есть функция которой определяем с какой секцией мы решили работать. эта самая функция построчно анализирует файл и если найдено вхождение с "section \"+name+"\"" то парсит имя параметра и его значения в map <string, string> section_buf.
вот думаю как же делать так чтобы при записи секции обратно в файл она корректно заменяла другую...
пробегала мысль складывать всё содержимое файла в какой нибудь string buffer и уже по нему потом искать и с ним работать. а при завершении работы просто перезаписывать файл содержимым string buffer.
но мне не кажется что это будет оптимально, думаю в языке есть какие-то "стандартные" средства для решения моей проблеммы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru