Namespaces
Variants

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

From cppreference.net
basic_ostream & put ( char_type ch ) ;

表现为一个 UnformattedOutputFunction 。在构造并检查哨兵对象后,将字符 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 << "Unformatted output: ";
    s.put('c'); // 这将设置 badbit,但不会设置 failbit
    std::cout << " fail=" << bool(s.rdstate() & s.failbit);
    std::cout << " bad=" << s.bad() << '\n';
    s.clear();
    std::cout << "Formatted output:   ";
    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

参见

插入字符数据或插入到右值流
(函数模板)
插入字符块
(公开成员函数)