Namespaces
Variants

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

From cppreference.net
basic_ostream & put ( char_type ch ) ;
**Перевод текста на веб-странице:**
basic_ostream & put ( char_type ch ) ;
**Примечание:** В данном фрагменте весь текст находится внутри тегов ` `, которые содержат C++ код. Согласно инструкциям, текст внутри таких тегов (которые являются разновидностью тегов для кода) не переводится. Поэтому весь представленный код C++ оставлен без изменений.

Ведет себя как UnformattedOutputFunction . После создания и проверки объекта sentry записывает символ ch в выходной поток.

Если вывод не удается по какой-либо причине, устанавливает badbit .

Содержание

Параметры

ch - символ для записи

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

* this

Примечания

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

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

Пример

#include <fstream>
#include <iostream>
int main()
{
    std::cout.put('a'); // обычное использование
    std::cout.put('\n');
    std::ofstream s("/does/not/exist/");
    s.clear(); // имитируем, что поток в хорошем состоянии
    std::cout << "Неформатированный вывод: ";
    s.put('c'); // это установит badbit, но не failbit
    std::cout << " fail=" << bool(s.rdstate() & s.failbit);
    std::cout << " bad=" << s.bad() << '\n';
    s.clear();
    std::cout << "Форматированный вывод:   ";
    s << 'c'; // это установит badbit и failbit
    std::cout << " fail=" << bool(s.rdstate() & s.failbit);
    std::cout << " bad=" << s.bad() << '\n';
}

Вывод:

a
Unformatted output:  fail=0 bad=1
Formatted output:    fail=1 bad=1

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

вставляет символьные данные или вставляет в rvalue поток
(шаблон функции)
вставляет блоки символов
(публичная функция-член)