Вывод файла в консоль частями

313
06 августа 2017, 08:22

Необходимо считать файл и вывести его на экран частями, предположим по 1000 символов. Как добавить проверку на выход итератора за пределы файла?

ifstream in;
in.open("Fantastic1.txt", ios::in);
string str((std::istreambuf_iterator<char>(in)), std::istreambuf_iterator<char>());
string::iterator it = str.begin();
ostream_iterator<char> out(cout);
do
{
    if (_getch() != keyRight)
    {
        copy(it, it + 1000, out);
        it += 1000;
    }
} while (true); 
Answer 1

Ну, например, так:

string::iterator it = str.begin(), e = str.end();

auto n = std::distance(it,e);
n = (n < 1000) ? n : 1000;
copy(it, it + n, out);
it += n;
READ ALSO
Проверка на число которое вписывается в массив С++

Проверка на число которое вписывается в массив С++

Всем привет,есть цикл которые заполняет массив, которые с динамической памятью

288
Инструменты для оптимизации в с++ [требует правки]

Инструменты для оптимизации в с++ [требует правки]

Я сейчас изучаю С++ и люблю всё оптимизироватьНа Python это сложно сделать, а на С и С++ в самый раз

326
средства ввода\вывода

средства ввода\вывода

Товарищи,ситуация такая : у меня есть файл json в котором описана структураФункция ReadEntrants читает файл и возвращает строку wchar_t

296
Творческое заимствование?

Творческое заимствование?

Добрый день, у меня проблема не могу вытащить слайдер товаров из этой бутcтреповской темыПереношу в проект css и скрипты master-slider, но все равно...

477