Читать из файла только из одной конкретной строки в другую 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;
}