Читать из файла только из одной конкретной строки в другую C++

Есть ли способ, как прочитать данные из файла из строки в другую строку?

Например:

В файле находятся следующие строки:

Строка1: пустая строка

Строка 2: пустая строка

Line3: Роберт Ва

Line4: Фрэнк Ле

Line5: Сильвия оп

Строка 6: пустая строка

Line7: пустая строка

Линия 8: Энди Сф.,

И мне нужно только прочитать все от Line3 до Line6

Таким образом, результат будет: Роберт Ва Фрэнк Ле Сильвия оп

И мой файл имеет 300 строк, которые я хочу напечатать.

У вас есть идеи, как это сделать, или вы можете вставить мне псевдокод

Спасибо

3 ответа

Решение

Это должно сделать трюк:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

    int main()
    {
        string line;
        ifstream infile;
        infile.open("putyourinputfilehere.txt");
        while(getline(infile, line))
        {
            if(line != "")
            {
                cout << line << endl;
            }

        }
        infile.close();
        return 0;
    }

Используйте std::getline, чтобы прочитать одну строку из входного потока (например, ifstream). Вы можете распечатать только те, которые вас интересуют.

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

 int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while ( getline (myfile,line) )
    {
      if(line.empty())
      {
        cout<<"Empty line";
      }
      else
      {
        //do some work
      }
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 

  return 0;
}
Другие вопросы по тегам