Описание тега streambuf

NoneStd::streambuf is the stream buffer type used by C++ iostreams.
1 ответ

boost streambuf потребляет и фиксирует, что это

Кажется, я не могу найти хорошее объяснение того, что на самом деле означают, что значит require() и commit (), на самом деле я вообще не понимаю streambuf. Насколько я понимаю, streambuf - это просто массив символов. Но почему это в документации, b…
28 сен '14 в 09:18
2 ответа

basic_streambuf::seekoff, что должно быть возвращено, когда ios_base::in | ios_base::out указан?

27.6.3.4.2 Управление буфером и позиционирование pos_type seekoff(off_type off, ios_base::seekdir way, ios_base::openmode which = ios_base::in | ios_base::out); Эффекты: изменяет позиции потока в одной или нескольких контролируемых последовательност…
23 июл '11 в 13:51
1 ответ

Что не так с моей реализацией overflow()?

Я пытаюсь реализовать буфер потока, и у меня возникают проблемы с созданием overflow() Работа. Я изменяю размер буфера еще на 10 символов и сбрасываю буфер, используя setp, Затем я увеличиваю указатель туда, где мы остановились. По какой-то причине …
07 ноя '13 в 23:55
2 ответа

Как получить часть std::string в streambuf без копирования?

В последнее время я часто использую Boost Asio и обнаруживаю, что работаю с std::stringс и asio::streambufдовольно много. Я нахожу, что я пытаюсь получить данные назад и вперед между streambufс и stringЭто как разбор сетевых данных. В общем, я не хо…
28 ноя '14 в 20:16
1 ответ

std::streambuf::in_aval всегда возвращает 0 для std::ostream

Моя цель - сохранить данные в streambuf, Моя идея становится streambuf от rdbuf а затем получать данные с помощью sgetn, class mystreambuf : public std::streambuf {} mystreambuf strbuf; std::ostream os(&strbuf); os << "1234567890"; std::st…
26 ноя '15 в 10:24
1 ответ

Используйте streambuf в качестве буфера для чтения и записи boost asio

Я использую этот код для чтения socket_.async_read_some(boost::asio::buffer(data_, max_length), boost::bind(&session::handle_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred)); и это для записи boost::as…
26 май '12 в 09:08
2 ответа

Использование streambuf при отправке / получении структуры

Я работаю на boost::asio::streambuf и обнаружил, что я могу отправить / получить структуру, используя ее, но когда я отправляю структуру, я просто не могу получить ее, как отправил. Документация говорит, что нужно использовать commit() а также consu…
20 ноя '17 в 16:23
1 ответ

Трюки, чтобы перейти от острингстрима к истрингстриму

Я пытаюсь создать модуль сжатия / распаковки, а затем использовать istringstream для сжатия и ostringstream для распаковки. Моя проблема в том, что после заполнения моего istringstream данными о сжатии я не могу преобразовать этот поток в поток ostr…
30 окт '13 в 15:49
1 ответ

Почему тип gptr для basic_streambuf char_type* вместо const char_type*?

basic_streambuf член, чтобы установить три "gptrs" streambuf, setg, объявляется как: protected: void setg(char_type *gback, char_type *gptr, char_type *egptr); Мне интересно: почему был сделан тип каждого gptr char_type* вместо const char_type*? Без…
05 дек '10 в 23:19
0 ответов

Перегрузка std::streambuf для экранирования данных

У меня есть внешняя библиотека, которая может записать кучу данных, передав ей std::ostream* указатель. Пишет в двоичном формате Я хочу записать эти данные в текстовый файл, который содержит другие вещи, преобразовав их в шестнадцатеричное или base6…
06 мар '15 в 16:08
2 ответа

Как реализовать пользовательский stoff::streambuf's seekoff()?

У меня есть следующая реализация, основанная, например, на этом вопросе и ответе struct membuf : std::streambuf { membuf(char* begin, char* end) { this->setg(begin, begin, end); } protected: virtual pos_type seekoff(off_type off, std::ios_base::s…
28 янв '16 в 16:00
1 ответ

Несовместимое предупреждение компилятора деструктора при наследовании от std::streambuf

Я получаю предупреждение компилятора ICL при наследовании от std::streambuf говорят что деструктор не совместим, есть идеи что я тут не так делаю? Создание виртуального деструктора тоже не работает. предупреждение #809: спецификация исключения для в…
01 мар '14 в 19:24
3 ответа

boost::asio::async_read и boost::asio::streambuf

Я использую async_read с streambuf. Тем не менее, я хотел бы ограничить количество считываемых данных до 4, чтобы я мог правильно обработать заголовок перед переходом к телу. Как я могу сделать это, используя async_read?
22 сен '10 в 13:52
1 ответ

Сериализация данных в std::streambuf

У меня есть проект Visual Studio 2008 C++, где я пытаюсь сериализовать данные из нескольких классов в пользовательский std::streambuf реализация. Классы данных с их сериализацией: struct Header { /*...*/ }; inline std::ostream& operator<<(…
26 июл '11 в 19:43
0 ответов

Какой самый большой размер вывода, который может понадобиться std::codecvt::unshift()?

Я работаю над пользовательским файлом streambuf, Теперь я хочу промыть на поиске, как fstream делает. На данный момент я хочу знать, насколько большой массив для вывода std::codecvt::unshift() должно быть? Мне кажется, что размер вернулся std::codec…
10 окт '13 в 11:35
1 ответ

Как я могу построить Filter_streambuf на основе Basic_streambuf?

У меня есть проект, который требует, чтобы я вставил фильтр в поток, чтобы исходящие данные были изменены в соответствии с фильтром. После некоторых исследований мне кажется, что я хочу создать фильтр Filter_streambuf следующим образом: template &lt…
20 апр '10 в 21:18
1 ответ

Проблемы с написанием пользовательского streambuf для сжатых потоков

Я реализую свой собственный класс streambuf для записи сжатых выходных файлов. Вот как это выглядит. template <class T> class gzstreambufbase : public std::streambuf { protected: static const int bufferSize = 8192; public: gzstreambufbase(); ~…
09 июн '16 в 14:01
1 ответ

Расширение std::cout

Я хочу расширить использование std::cout использовать мой собственный класс оболочки консоли / Cout. В идеале у меня было бы 2 ostreams, один для обычной печати и один, который добавляет новую строку. std::ostream Write; Write << "Hello, I am …
30 янв '18 в 21:01
0 ответов

Пользовательский strbuf ничего не помещает в файл

Я пытаюсь создать собственный strbuf, который принимает 32-байтовые символы и помещает их в другой объект ostream в байтах. Ниже приведен код для этого: Я лично подозреваю, как я связал это в main.cpp, хотя я не могу точно определить ошибку в нем. П…
26 янв '14 в 10:03
2 ответа

Используйте несколько потоков для записи в один выходной файл в C++

У меня урок Writer это имеет два ofstream члены. Оба потока связаны с одним и тем же выходным файлом. Я хотел бы использовать оба потока в Writer::write метод, но чтобы убедиться, что каждый поток записывает в конец реального выходного файла. Код cl…
24 дек '13 в 07:48