Top.Mail.Ru
Ответы

Как удалить из txt-файла все строки, начинающиеся с цифры "3"?

Как удалить из txt-файла все строки, начинающиеся с цифры "3"?
Удаление всех строк, содержащие символ 3 не пойдёт, надо именно удалить строки, которые начинаются с цифры 3. Заранее благодарен

По дате
По рейтингу
Аватар пользователя
Новичок

#include <vector>

#include <fstream>

#include <sstream>

using namespace std;

int main()

{

setlocale(0, "");

ifstream inp("N:/text.txt");

string str;

vector<string>file;

while (getline(inp, str))

{

if (str[0] != '3') file.push_back(str);

}

ofstream out("N:/out.txt");

for (auto i = file.begin(); i != file.end();i++) out << (i!=--file.end()?*i+'\n' : *i);

}

Аватар пользователя
Просветленный

Открыть нужный файл, создать рядом новый файл с временным именем, читать первый файл и записывать во второй, игнорировать строчку если первый символ '3'.

Потом удалить старый файл и переименовать новый.