Необходимо считать файл и вывести его на экран частями, предположим по 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);
Ну, например, так:
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;
Продвижение своими сайтами как стратегия роста и независимости