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

Удаление нужной строчки из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Контейнер map ? http://www.cyberforum.ru/cpp-beginners/thread796266.html
Не совсем удается разобраться Не удается разобраться с ассоциативными контейнерами ! Как выглядит объявление функции в псевдокоде? Что делает std::less<T> ?
C++ Ячейка заполненной строки не перезаписывается Есть массив со строкой. Одну из его ячеек необходимо перезаписать, но этого не получается. Используемое ПО - Visual Studio 2008 (версию по-новее просто не потянет комп ( ). Код (я его предельно упростила): #include <iostream> #include <stdio.h> using namespace std; void main() { http://www.cyberforum.ru/cpp-beginners/thread796251.html
C++ Дан текст из цифр и строчных латинских букв, за которым следует точка
Дан текст из цифр и строчных латинских букв, за которым следует точка. Определите какие буквы- гласные (A,E,I,O,u)или согласных-больше в этом тексте.
C++ Даны координаты вершин много угольника
Даны координаты вершин много угольника (x1,y1,x2,y2,...,x10,y10).Напишите программу для вычисления его перемитра (вычисление расстояния между вершинами оформить подпрограммой.
C++ Вычислить http://www.cyberforum.ru/cpp-beginners/thread796245.html
Вычислить Z=(x+y)/(k*n),где x и k- сумма и количетсвоположительных элементов массива А(40), где y и n - сумма и количество отрицательных элементов массива B(50). Определение суммы и количества положительных и отрицательных элементов выполнить в подпрограмме.
C++ Рассчитать радиус окружности, вписанной в треугольник и описанной Рассчитать радиус окружности, вписанной в треугольник и описанной вокруг треугольника, зная его стороны. подробнее

Показать сообщение отдельно
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.02.2013, 09:01     Удаление нужной строчки из файла
Вся строка в файле состоит из одного ключа? Т.е., с клавиатуры вводится строка, потом идёт поиск в файле такой строки, если найдена, то файл переписывается уже без этой строки?

Добавлено через 15 минут
Если так, то:
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
36
37
38
39
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
 
 
int main()
{
   fstream f("text.txt");
   if (!f.is_open()) cout << "Error!" << endl;
   else
   {
       vector <string> vecstr;
       string str;
       string temp;
   
       cin >> str;
   
       while (!f.eof())
       {
            getline(f, temp);
            if (temp != str)
                vecstr.push_back(temp);
       }
 
       f.close();
   
       f.open("text.txt", ios::out);
 
       for (int i = 0; i < vecstr.size(); i++)
            f << vecstr[i] << '\n';
 
       f.close();
   }
 
   system("pause");
   return 0;
}
Если же введённый ключ - это часть строки в файле, то:
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
36
37
38
39
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
 
 
int main()
{
   fstream f("text.txt");
   if (!f.is_open()) cout << "Error!" << endl;
   else
   {
       vector <string> vecstr;
       string str;
       string temp;
   
       cin >> str;
   
       while (!f.eof())
       {
            getline(f, temp);
            if (temp.find(str) == -1)
                vecstr.push_back(temp);
       }
 
       f.close();
   
       f.open("text.txt", ios::out);
 
       for (int i = 0; i < vecstr.size(); i++)
            f << vecstr[i] << '\n';
 
       f.close();
   }
 
   system("pause");
   return 0;
}
 
Текущее время: 23:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru