Я настроил std::streambuf
.Примерно так:
class mybuf : public std::streambuf {
...
virtual std::streambuf::int_type underflow() {
if(eof) {
return traits_type::eof();
}
...
}
...
std::istream stream(new mybuf(...));
Установка флага eof
потока выполняется путем возврата eof в функцию underflow()
.
Как установить флаг badbit
дляпоток?Должна ли функция overflow()
генерировать исключение?