Все салам Кто может помочь с С++. Надо облегчить данный код
php
#include <iostream> #include <fstream> #include <string> #include <vector> #include <iterator> #include <algorithm> int main() { std::fstream fs{ "text.txt", std::ios::in }; // открывем файл std::vector<std::string> text; // тут будут храниться строки из файла for(std::string line; std::getline(fs,line); text.push_back(std::move(line))); // построчно читаем файл в вектор text fs.close(); // закрываем файл fs.clear(); // сбрасывем флаги size_t K{}; // количество удаляемых строк std::cout << "K = "; std::cin >> K; if (K > text.size()) return -1; // если К больше чем строк в файле выходим из программы fs.open("text.txt", std::ios::trunc | std::ios::out); // переоткрываем файл для записи, удаляя содержимое std::copy(text.begin(), text.end() - K, std::ostream_iterator<std::string>{fs, "n"}); // копируем строки из вектора text в файл с первой по ту что количество строк - К включительно }
________ посл. ред. 18.05.2021 в 15:50; всего 1 раз(а); by F11
Цикл там нафиг не нужен. Почитай внимательно как cpp работает с чтением файлов. Почти одинаково как и php. Читай файл, добавляй все строки в массив, потом из массива удаляй нужные и собирай уже нужные строки в массив. Если нужно, перезаписывай файл.