30 Input/output library [input.output]

30.7 Formatting and manipulators [iostream.format]

30.7.5 Output streams [output.streams]

30.7.5.3 Unformatted output functions [ostream.unformatted]

Каждая функция неформатированного вывода начинает выполнение с создания объекта класса sentry. Если этот объект возвращается trueпри преобразовании в значение типа bool, функция пытается сгенерировать запрошенный вывод. Если во время вывода возникает исключение, то ios​::​badbit включается323 в *thisсостоянии ошибки. Если (exceptions() & badbit) != 0 тогда исключение генерируется повторно. В любом случае функция неформатированного вывода завершается уничтожением охранного объекта, а затем, если не было сгенерировано исключение, возвращает значение, указанное для функции неформатированного вывода.

basic_ostream<charT, traits>& put(char_type c);

Effects: Ведет себя как неформатированная функция вывода (как описано выше). После создания сторожевого объекта c, если возможно , вставляет символ .324

В противном случае вызовы setstate(badbit) (которые могут бросить ios_­base​::​failure ([iostate.flags])).

Returns: *this.

basic_ostream& write(const char_type* s, streamsize n);

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

  • n вставляются символы;

  • вставка в выходную последовательность не выполняется (в этом случае вызывается функция setstate(badbit), которая может throw ios_­base​::​failure ([iostate.flags])).

Returns: *this.

basic_ostream& flush();

Effects: Ведет себя как неформатированная функция вывода (как описано выше). Если rdbuf() не является нулевым указателем, создает объект-часовой. Если этот объект возвращается true при преобразовании в значение типа, bool функция вызывает rdbuf()->pubsync(). Если эта функция возвращает -1 вызов setstate(badbit) (который может throw ios_­base​::​failure ([iostate.flags])). В противном случае, если объект-часовой возвращается false, ничего не делает.

Returns: *this.

не вызывая ios​::​failure броска.

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

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