Maxim Cherniavsky
2004-02-03 16:23:35 UTC
Требуется вывести на стандартный вывод N-символов файла используя
std::istreambuf_iterator и std::copy
Код:
std::ifstream iS;
iS.open("file");
std::istreambuf_iterator<char> in(iS);
std::copy(in, "итератор на N-ый символ",
std::ostreambuf_iterator<char>(std::cout));
как получить "итератор на N-ый символ"?
пробовал
std::advance(std::istreambuf_iterator<char>(iS), N);
но при жтом текущая позиция в iS судя по всему тоже сдвигаетя
Вообще невозможно, или я что то проглядел?
P.S. В SGI варианте STL присутствует функция copy_n, которая видимо
делает то что нужно :(
std::istreambuf_iterator и std::copy
Код:
std::ifstream iS;
iS.open("file");
std::istreambuf_iterator<char> in(iS);
std::copy(in, "итератор на N-ый символ",
std::ostreambuf_iterator<char>(std::cout));
как получить "итератор на N-ый символ"?
пробовал
std::advance(std::istreambuf_iterator<char>(iS), N);
но при жтом текущая позиция в iS судя по всему тоже сдвигаетя
Вообще невозможно, или я что то проглядел?
P.S. В SGI варианте STL присутствует функция copy_n, которая видимо
делает то что нужно :(
--
Best regards,
Maxim Cherniavsky
Best regards,
Maxim Cherniavsky