Я программист на C++ n00b, и я хотел бы знать, как читать определенную строку из текстового файла. Например, если у меня есть текстовый файл содержащий следующие строки:Как читать определенную строку из файла с помощью fstream (C++)
1) Hello
2) HELLO
3) hEllO
Как бы я идти о чтении, скажем, линия 2 и печать его на экране? Это то, что я до сих пор ..
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string sLine = "";
ifstream read;
read.open("input.txt");
// Stuck here
while(!read.eof()) {
getline(read,1);
cout << sLine;
}
// End stuck
read.close();
return 0;
}
Код в bewteen разделе комментариев, где я застрял. Благодаря!!
относящиеся к использованию eof http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong – Niall
Файлы представляют собой абстракции по именованным кускам байтов; как таковой, нет способа найти, где определенная строка начинается в файле, не просматривая все предыдущие байты и считая новые строки. Если вам нужно получить много определенных строк, вы можете сканировать файл после поиска смещений, соответствующих каждому запуску линии, а затем использовать это сопоставление для быстрого поиска. – Cameron
Что вы ожидаете от этого: 'getline (read, 1)'? – Galik