@CMETAHAA

Как прочитать нужные строчки и скопировать?

Сразу скажу что я в С++ не силён, набросал из исходников код (с простор инета), я выдёргиваю данные с файла всё работает как нужно.
Нужно пропустить 4 строчки и скопировать данные дальше что ниже по списку.
#include <iostream>                                   // для оператора cout
#include <cstdio>                                     // для функции rename
#include <sys/stat.h>
#include <fstream>
using namespace std; 
int main()
{   
    mkdir ("/var/www/hls/live.m3u8", 0775);
    ifstream infile;
    ofstream outfile;
 
    infile.open("/var/www/hls/55/live.m3u8");
    outfile.open("/var/www/hls/live.m3u8");
 
    char buffer[1000];         
    while(!infile.eof())       
    {
        infile.getline(buffer,sizeof(buffer));         
        outfile<<buffer<<endl;                  
    }
 
    infile.close();         
    outfile.close();    
    return 0;
}
  • Вопрос задан
  • 188 просмотров
Решения вопроса 2
@Tuvan
легкий костыль,забыл дописать ,когда else там еще нужно из файла в какую-нибудь ненужную переменную считывать
#include <iostream>                                   // для оператора cout
#include <cstdio>                                     // для функции rename
#include <sys/stat.h>
#include <fstream>
using namespace std; 
int main()
{   
    mkdir ("/var/www/hls/live.m3u8", 0775);
    ifstream infile;
    ofstream outfile;
 
    infile.open("/var/www/hls/55/live.m3u8");
    outfile.open("/var/www/hls/live.m3u8");
 
    char buffer[1000];        
    int c=0; 
    while(!infile.eof())       
    {
       if(c>=4){
        infile.getline(buffer,sizeof(buffer));         
        outfile<<buffer<<endl;    }
        else c++;
    }
 
    infile.close();         
    outfile.close();    
    return 0;
}
Ответ написан
Комментировать
fuzz0
@fuzz0
#include <iostream>
#include <fstream>
#include <cstdlib>

using std::cout;
using std::endl;

int main(int argc, char* argv[])
{
  std::ifstream ifile;
  std::ofstream ofile;
  ifile.open("input", std::ios::in);
  ofile.open("output", std::ios::out | std::ios::trunc);
  int count = 0;
  while(count != std::atoi(argv[1]))
  {
    if(ifile.get()=='\n')
      count++;
  }
  ofile << ifile.rdbuf();
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы