Форум программистов, компьютерный форум 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 содержит коэффициенты при x в степени 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) количества чисел, встревающих в заданной матрице более одного раза. Вот я сделал, для первого условия: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; const int n = 5, m = 6;
C++ Vector string'ов и освобождение памяти Как известно вектор не освобождает память. В подавляющем большинстве случаев string работает на основе вектора (т.к. если использовать list - хранить на каждый байт по 2 указателя весьма не эффективно) и тоже не освобождает память. Допустим я создал вектор из 1000 стрингов содержащих строку 1000 байт каждый. При этом получился вектор из 1000 элементов размером в 1500 элементов (500... подробнее

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

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

01.10.2011, 18:59. Просмотров 946. Ответов 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.
но мне не кажется что это будет оптимально, думаю в языке есть какие-то "стандартные" средства для решения моей проблеммы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru