Namespaces
Variants

std::basic_ostream<CharT,Traits>:: write

From cppreference.net
basic_ostream & write ( const char_type * s, std:: streamsize count ) ;

Ведут себя как UnformattedOutputFunction . После создания и проверки объекта-сторожа выводит символы из последовательных позиций в массиве символов, первый элемент которого указывается s . Символы вставляются в выходную последовательность до тех пор, пока не произойдет одно из следующих событий:

  • вставляется ровно count символов
  • вставка в выходную последовательность завершается неудачей (в этом случае вызывается setstate ( badbit ) ).

Содержание

Параметры

s - указатель на строку символов для записи
count - количество символов для записи

Возвращаемое значение

* this

Исключения

failure if an error occurred (the error state flag is not goodbit ) and exceptions() is set to throw for that state.

Если внутренняя операция выбрасывает исключение, оно перехватывается и устанавливается badbit . Если для exceptions() установлен badbit , исключение перевыбрасывается.

Примечания

Эта функция не перегружена для типов signed char или unsigned char , в отличие от форматированного operator<< .

Кроме того, в отличие от функций форматированного вывода, эта функция не устанавливает failbit при ошибке.

При использовании неконвертирующей локали (локаль по умолчанию является неконвертирующей), переопределение этой функции в std::basic_ofstream может быть оптимизировано для массового ввода-вывода без копирования (посредством переопределения std::streambuf::xsputn ).

Пример

Эта функция может использоваться для вывода представлений объектов, то есть для бинарного вывода.

#include <iostream>
int main()
{
    int n = 0x41424344;
    std::cout.write(reinterpret_cast<char*>(&n), sizeof n) << '\n';
    char c[] = "This is sample text.";
    std::cout.write(c, 4).write("!\n", 2);
}

Возможный вывод:

DCBA
This!

Смотрите также

вставляет символьные данные или вставляет в rvalue поток
(function template)
вставляет символ
(public member function)