c++ Как из файла считать строку N (т. е. сразу, например 2227 строку)
Например мне нужно получить 70, 40322, 78900 строки. Нужен способ чтения n строки
Например мне нужно получить 70, 40322, 78900 строки. Нужен способ чтения n строки
Сохранить где-то (например, в другом файле) номера смещений, с которых начинаются все строки, а потом просто переходить на нужное смещение с помощью istream::seekg или fseek.
Сколько ж можно спрашивать? Все существующие способы тебе еще в ответах на первый вопрос перечислили...
Если строки имеют неизвестную длину - то не прочитав предыдущие 2226 строк, не узнаешь, по какому смещению в файле находится 2227.
Если же длины известны, то просто переходишь по нужному смещению и читаешь.
Попробуй открыть файл и искать там 0Ah,0Dh. Как найдёшь - значит конец строки. С каждой строкой увеличивай счётчик. Так и ищи в цикле, пока в счётчике не будет номер строки. Прямо в файле искать, естественно, долго, так что лучше файл смапить в память.