std::basic_ostream<CharT,Traits>::put
< cpp | io | basic ostream
basic_ostream& put( char_type ch ); |
||
表现为无格式输出函数 (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 << "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
参阅
插入字符数据 (函数) | |
插入字符块 (公开成员函数) |