Пространства имён
Варианты
Действия

std::basic_stringbuf::basic_stringbuf

Материал из cppreference.com
< cpp‎ | io‎ | basic stringbuf

 
 
Библиотека ввода/вывода
Манипуляторы ввода/вывода
Функции print (C++23)
Ввод/вывод в стиле C
Буферы
(устарело в C++98)
Потоки
Абстракции
Файловый ввод/вывод
Ввод/вывод строк
Ввод/вывод массивов
(устарело в C++98)
(устарело в C++98)
(устарело в C++98)
Синхронизированный вывод
Типы
Интерфейс категорий ошибок
(C++11)
 
std::basic_stringbuf
Общественные функции-члены
Оригинал:
Public member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
basic_stringbuf::basic_stringbuf
Охраняемые функций-членов
Оригинал:
Protected member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Функции, не являющиеся членами
 
explicit basic_stringbuf(std::ios_base::openmode which = std::ios_base::in
                                                       | std::ios_base::out);
(1)
explicit basic_stringbuf (const std::basic_string<CharT, traits, Allocator>& new_str,

                          std::ios_base::openmode which = std::ios_base::in

                                                        | std::ios_base::out);
(2)
basic_stringbuf(const basic_stringbuf& rhs) = delete;
(3)
basic_stringbuf(basic_stringbuf&& rhs);
(4) (начиная с C++11)
1)
Создает std::basic_stringbuf объекта: инициализация базового класса, вызвав конструктор по умолчанию std::basic_streambuf, инициализирует последовательность символов с пустой строкой, и устанавливает режим which.
Оригинал:
Constructs a std::basic_stringbuf object: initializes the base class by calling the default constructor of std::basic_streambuf, initializes the character sequence with an empty string, and sets the mode to which.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Создает std::basic_stringbuf объекта, выполняя те же инициализация, как 1), после инициализации соответствующей последовательности символов как при вызове <div class="t-tr-text">ул (new_str)
Оригинал:
str(new_str)
Текст был переведён автоматически используя [http://translate.google.com Переводчик Google].
Вы можете проверить и исправить перевод. Для инструкций щёлкните [http://en.cppreference.com/w/Cppreference:MachineTranslations сюда].
.
Оригинал:
Constructs a std::basic_stringbuf object by performing the same initialization as 1), followed by initializing the associated character sequence as if by calling
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Конструктор копирования удаляется; std::basic_stringbuf не CopyConstructible
Оригинал:
The copy constructor is deleted; std::basic_stringbuf is not CopyConstructible
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Move-строит std::basic_stringbuf объекта, перемещая все государство от другого объекта std::basic_stringbuf rhs, в том числе связанные строки, открытом режиме, язык, и все другие государства. После переезда, шесть указателей std::basic_streambuf в *this гарантированно будут отличаться от соответствующих указателей в переехал из-rhs если нулевой.
Оригинал:
Move-constructs a std::basic_stringbuf object by moving all state from another std::basic_stringbuf object rhs, including the associated string, the open mode, the locale, and all other state. After the move, the six pointers of std::basic_streambuf in *this are guaranteed to be different from the corresponding pointers in the moved-from rhs unless null.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Параметры

new_str
basic_string используется для инициализации буфера
Оригинал:
a basic_string used to initialize the buffer
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
rhs
другой basic_stringbuf
Оригинал:
another basic_stringbuf
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
mode
указывает поток открытом режиме. Это битовая маска типа, определены следующие константы:
Константа Описание
app перемещаться к концу потока перед каждой записью
binary открыть в двоичном режиме
in открыть для чтения
out открыть для записи
trunc удалить содержимое потока при открытии
ate переместиться к концу потока сразу после открытия
noreplace (C++23) открыть в режиме исключающего доступа
Оригинал:
specifies stream open mode. It is bitmask type, the following constants are defined:
Константа Описание
app перемещаться к концу потока перед каждой записью
binary открыть в двоичном режиме
in открыть для чтения
out открыть для записи
trunc удалить содержимое потока при открытии
ate переместиться к концу потока сразу после открытия
noreplace (C++23) открыть в режиме исключающего доступа
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Заметки

Обычно вызывается конструктор std::basic_stringstream.
Оригинал:
Typically called by the constructor of std::basic_stringstream.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Уровень поддержки открытых режимах, отличных от std::ios_base::in и std::ios_base::out варьируется в зависимости от реализации. C + +11 явно указывает поддержки std::ios_base::ate в str() и в этом конструкторе, но std::ios_base::app, std::ios_base::trunc, и std::ios_base::binary оказывают различное влияние на разные реализации.
Оригинал:
The level of support for the open modes other than std::ios_base::in and std::ios_base::out varies among implementations. C++11 explicitly specifies the support for std::ios_base::ate in str() and in this constructor, but std::ios_base::app, std::ios_base::trunc, and std::ios_base::binary have different effects on different implementations.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Пример

Демонстрация вызова конструктора basic_stringbuf непосредственно .
Оригинал:
Demonstrates calling the constructor of basic_stringbuf directly.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

#include <iostream>
#include <sstream>
int main()
{
    // default constructor (mode = in|out)
    std::stringbuf buf1;
    buf1.sputc('1');
    std::cout << &buf1 << '\n';
 
    // string constructor in at-end mode (C++11)
    std::stringbuf buf2("test", std::ios_base::in
                              | std::ios_base::out
                              | std::ios_base::ate);
    buf2.sputc('1');
    std::cout << &buf2 << '\n';
 
    // append mode test (results differ among compilers)
    std::stringbuf buf3("test", std::ios_base::in
                              | std::ios_base::out
                              | std::ios_base::app);
    buf3.sputc('1');
    buf3.pubseekpos(1);
    buf3.sputc('2');
    std::cout << &buf3 << '\n';
}

Вывод:

1
test1
est12 (Sun Studio) 2st1 (GCC)

[править] См. также

строит строку поток
Оригинал:
constructs the string stream
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент std::basic_stringstream) [править]