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

Поиск строки в файле и её перезапись - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ программамы языки для создания сценариев ? http://www.cyberforum.ru/cpp-beginners/thread163502.html
Скажите что действительно есть программы которые помогают написать программный код ? Что то вроде сценария для программ !
C++ Очередь Привет всем. Я тут решаю в общем то простое упражнение - нужно проверить переполнение и опустошение очереди. Есть у меня небольшая трудность: как выйти из функции Decueue() (англ.вывести из очереди :)) если Очередь пуста(tail == 0)??? Я пробовал exit(1) и return(0), но это все не то. А главная трудность - по заданию упражнения проверку надо реализовать при помощи оператора % ... http://www.cyberforum.ru/cpp-beginners/thread163485.html
Динамический массив указателей C++
Чегото не пойму такое вообще возможно? Странно, что при объявлении можно не указывать размерность: int *a; Но как потом память выделять не известно. Добавлено через 2 минуты p.s. прошу не путать с указателем на массив.
Как выразить в С корень n-степени. C++
Как выразить в С корень n-степени. Подскажите.
C++ Объявление структуры и класса http://www.cyberforum.ru/cpp-beginners/thread163366.html
Ругается на строку obj_cls.prv=3; и на объявление класса. Что у меня не правильно? #include <iostream> using namespace std; struct str { int pub; private: int prv;
C++ Вычисление факториала Помогите пожалуйста вычислить факториал: подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.09.2010, 23:26     Поиск строки в файле и её перезапись
Ну вцелом как-то так. НО... Хз пока что делать с перезаписью. Можно конечно читать в вектор строк и после замены писать в файл.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
int main()
{
   ifstream fin("input.txt");
   std::string str;
   std::string DelStr="name";
   std::string lalala="nickname";
   std::ofstream ofs("input.txt", ios.ate|ios.app);
   while(!fin.eof())
   {
      std::getline(fin, str);
      std::string::iterator It;
      It=std::find_end(str.begin(), str.end(), DelStr.begin(), DelStr.end());
      if(It!=str.end())
      {
         str.replace(It+5, str.end(), lalala.begin(), lalala.end());
         std::cout<<str<<'\n';
         ofs<<str<<'\n';
      }
   }
   ofs.close();
   fin.close();
   return 0;
}
Добавлено через 11 минут
Как-то вот так то есть.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
 
using namespace std;
int main()
{
   ifstream fin("input.txt");
   std::string str;
   std::string DelStr="name";
   std::string lalala="nickname";
   std::vector<std::string> VecStr;
   while(!fin.eof())
   {
      std::getline(fin, str);
      VecStr.push_back(str);
   }
   std::ofstream ofs("input.txt");
   for(int i=0; i!=VecStr.size(); ++i)
   {
      std::string::iterator It;
      It=std::find_end(VecStr[i].begin(), VecStr[i].end(), DelStr.begin(), DelStr.end());
      if(It!=VecStr[i].end())
      {
         VecStr[i].replace(It+5, VecStr[i].end(), lalala.begin(), lalala.end());
         std::cout<<VecStr[i]<<'\n';
         ofs<<VecStr[i]<<'\n';
      }
   }
   ofs.close();
   fin.close();
   return 0;
}
 
Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru