std::basic_stringbuf::setbuf
Материал из cppreference.com
< cpp | io | basic stringbuf
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
protected: virtual std::basic_streambuf<CharT, Traits>* setbuf( char_type* s, std::streamsize n ) |
||
Если
s
является нулевым указателем и n
равна нулю, эта функция не имеет никакого эффекта.Оригинал:
If
s
is a null pointer and n
is zero, this function has no effect.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
В против��ом случае, эффект от реализации определяется: некоторые реализации ничего не делать, в то время как некоторые реализации очистить std::string члена в настоящее время используется в качестве буфера и начать работу с пользователем массив символов размером
n
, чей первый элемент, на который указывает s
, как буфером и ввода / вывода последовательности символов.Оригинал:
Otherwise, the effect is implementation-defined: some implementations do nothing, while some implementations clear the std::string member currently used as the buffer and begin using the user-supplied character array of size
n
, whose first element is pointed to by s
, as the buffer and the input/output character sequence.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Эта функция защищенных виртуальных, она может быть вызвана только через
pubsetbuf()
или члена функции пользовательского класса, производного от std::basic_stringbuf
.Оригинал:
This function is protected virtual, it may only be called through
pubsetbuf()
or from member functions of a user-defined class derived from std::basic_stringbuf
.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Параметры
s | — | указатель на первый байт в предоставленное пользователем буфер или NULL
Оригинал: pointer to the first byte in the user-provided buffer or null Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
n | — | количество байтов в предоставленное пользователем буфер или нуль
Оригинал: the number of bytes in the user-provided buffer or zero Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править] Возвращаемое значение
*this, приведение к базовому классу
std::basic_streambuf
.Оригинал:
*this, cast to the base class
std::basic_streambuf
.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Заметки
Устаревшие std::strstreambuf буфера потока или
boost::basic_array
boost.IOStreams устройство может быть использовано для реализации I / O буферизация за предоставленные пользователем массив символов в портативных образом.Оригинал:
The deprecated stream buffer std::strstreambuf or the boost.IOStreams device
boost::basic_array
may be used to implement I/O buffering over a user-provided char array in portable manner.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
Тест для setbuf функциональность stringstream в
Оригинал:
Test for the stringstream's setbuf functionality
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Запустить этот код
#include <iostream> #include <sstream> int main() { std::ostringstream ss; char c[1024] = {}; ss.rdbuf()->pubsetbuf(c, 1024); ss << 3.14 << '\n'; std::cout << c << '\n'; }
Вывод:
3.14 (on GNU g++/libstdc++ and SunPro C++/roguewave) <nothing> (on MS Visual Studio 2010, SunPro C++/stlport4, CLang++/libc++)
[править] См. также
Вызывает setbuf() Оригинал: invokes setbuf() Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент std::basic_streambuf )
|