std::basic_stringbuf::setbuf
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> 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)
|