c++11 标准模板(STL)(std::basic_ostream)(一)

news2024/12/23 15:41:38
定义于头文件 <ostream>
template<

    class CharT,
    class Traits = std::char_traits<CharT>

> class basic_ostream : virtual public std::basic_ios<CharT, Traits>

类模板 basic_ostream 提供字符流上的高层输出操作。受支持操作包含有格式输出(例如整数值)和无格式输出(例如生字符和字符数组)。此功能以 basic_streambuf 类所提供的接口实现,通过 basic_ios 基类访问。典型的实现中, basic_ostream 无非继承的数据成员。

 

亦提供二个对常见字符类型的特化:

定义于头文件 <ostream>

类型定义
ostreambasic_ostream<char>
wostreambasic_ostream<wchar_t>

 

全局对象

标准库提供六个全局 basic_ostream 对象。

定义于头文件 <iostream>

coutwcout

写入到标准 C 输出流 stdout
(全局对象)

cerrwcerr

写入到标准 C 错误流 stderr, 无缓冲
(全局对象)

clogwclog

写入到标准 C 错误流 stderr
(全局对象)

 

成员类型

成员类型定义
char_typeCharT
traits_typeTraits ;若 Traits::char_type 不是 CharT 则程序为病式。
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

(构造函数)

构造对象
(公开成员函数)

(析构函数)

[虚]

析构对象
(虚公开成员函数)

operator=

(C++11)

从另一 basic_ostream 移动赋值
(受保护成员函数)
有格式输出

operator<<

插入带格式数据
(公开成员函数)
无格式输出

put

插入字符
(公开成员函数)

write

插入字符块
(公开成员函数)
寻位

tellp

返回输出位置指示器
(公开成员函数)

seekp

设置输出位置指示器
(公开成员函数)
杂项

flush

与底层存储设备同步
(公开成员函数)

swap

(C++11)

交换流对象,除了关联缓冲区
(受保护成员函数)

成员类

sentry

为输出操作实现流准备的基本逻辑
(公开成员类)

非成员函数

operator<<(std::basic_ostream)

插入字符数据

 

继承自 std::basic_ios

成员类型

成员类型定义
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

状态函数

good

检查是否没有发生错误,例如是否可执行I/O操作
(std::basic_ios<CharT,Traits> 的公开成员函数)

eof

检查是否到达了文件末尾
(std::basic_ios<CharT,Traits> 的公开成员函数)

fail

检查是否发生了可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)

bad

检查是否已发生不可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)

operator!

检查是否有错误发生(fail() 的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)

operator void*operator bool

(C++11 前)(C++11 起)

检查是否没有发生错误(!fail()的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)

rdstate

返回状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)

setstate

设置状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)

clear

修改状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)
格式化

copyfmt

复制格式化信息
(std::basic_ios<CharT,Traits> 的公开成员函数)

fill

管理填充字符
(std::basic_ios<CharT,Traits> 的公开成员函数)
杂项

exceptions

管理异常掩码
(std::basic_ios<CharT,Traits> 的公开成员函数)

imbue

设置本地环境
(std::basic_ios<CharT,Traits> 的公开成员函数)

rdbuf

管理相关的流缓冲区
(std::basic_ios<CharT,Traits> 的公开成员函数)

tie

管理绑定的流
(std::basic_ios<CharT,Traits> 的公开成员函数)

narrow

窄化字符
(std::basic_ios<CharT,Traits> 的公开成员函数)

widen

拓宽字符
(std::basic_ios<CharT,Traits> 的公开成员函数)

 

继承自 std::ios_base

成员函数

格式化

flags

管理格式标志
(std::ios_base 的公开成员函数)

setf

设置特定格式标志
(std::ios_base 的公开成员函数)

unsetf

清除特定格式的标志
(std::ios_base 的公开成员函数)

precision

管理浮点操作的精度
(std::ios_base 的公开成员函数)

width

管理域的宽度
(std::ios_base 的公开成员函数)
本地环境

imbue

设置本地环境
(std::ios_base 的公开成员函数)

getloc

返回当前本地环境
(std::ios_base 的公开成员函数)
内部可扩展数组

xalloc

[静态]

返回能安全用作 pword() 和 iword() 下标的程序范围内独有的整数
(std::ios_base 的公开静态成员函数)

iword

如果有必要的话,调整私有存储的大小,并且访问位于提供的下标的long元素
(std::ios_base 的公开成员函数)

pword

若需要则重置私有存储的大小,并访问位于指定下标的 void* 元素
(std::ios_base 的公开成员函数)
杂项

register_callback

注册事件回调函数
(std::ios_base 的公开成员函数)

sync_with_stdio

[静态]

设置C++和C的IO库是否可以互操作
(std::ios_base 的公开静态成员函数)
成员类

failure

流异常
(std::ios_base 的公开成员类)

Init

初始化标准流对象
(std::ios_base 的公开成员类)

成员类型和常量

类型解释

openmode

流打开模式类型

亦定义下列常量:

常量解释
app每次写入前寻位到流结尾
binary以二进制模式打开
in为读打开
out为写打开
trunc在打开时舍弃流的内容
ate打开后立即寻位到流结尾

(typedef)

fmtflags

格式化标志类型

亦定义下列常量:

常量解释
dec为整数 I/O 使用十进制底:见 std::dec
oct为整数 I/O 使用八进制底:见 std::oct
hex为整数 I/O 使用十六进制底:见 std::hex
basefielddec|oct|hex 。适用于掩码运算
left左校正(添加填充字符到右):见 std::left
right右校正(添加填充字符到左):见 std::right
internal内部校正(添加填充字符到内部选定点):见 std::internal
adjustfieldleft|right|internal 。适用于掩码运算
scientific用科学记数法生成浮点类型,或若与 fixed 组合则用十六进制记法:见 std::scientific
fixed用定点记法生成浮点类型,或若与 scientific 组合则用十六进制记法:见 std::fixed
floatfieldscientific|fixed 。适用于掩码运算
boolalpha以字母数字格式插入并释出 bool 类型:见 std::boolalpha
showbase生成为整数输出指示数字基底的前缀,货币 I/O 中要求现金指示器:见 std::showbase
showpoint无条件为浮点数输出生成小数点字符:见 std::showpoint
showpos为非负数值输出生成 + 字符,见 std::showpos
skipws在具体输入操作前跳过前导空白符:见 std::skipws
unitbuf在每次输出操作后冲入输出:见 std::unitbuf
uppercase在具体输出的输出操作中以大写等价替换小写字符:见 std::uppercase

(typedef)

iostate

流状态类型

亦定义下列常量:

常量解释
goodbit无错误
badbit不可恢复的流错误
failbit输入/输出操作失败(格式化或提取错误)
eofbit关联的输出序列已抵达文件尾

(typedef)

seekdir

寻位方向类型

亦定义下列常量:

常量解释
beg流的开始
end流的结尾
cur流位置指示器的当前位置

(typedef)

event

指定事件类型
(枚举)

event_callback

回调函数类型
(typedef)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工业读码器在工业生产上应用的优势有哪些?

工业读码器是一种用于读取和解码条形码、二维码等信息的设备&#xff0c;一般广泛应用于工业生产中。可以辅助企业进行工业生产流程、物料等方面的管理。下面我们就一起来了解一下&#xff0c;工业读码器在工业生产上应用的优势有哪些&#xff1f; 工业读码器在工业生产上应用…

基于Java学生公寓管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

华为OD机试真题 Python 实现【工作安排】【2023Q1 100分】

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出3、说明 一、题目描述 小明每周上班都会拿着自己的工作清单&#xff0c;工作清单内包含n项工作&#xff0c;每项工作都有对应的耗时时长&#xff08;单位h&#xff09;和报…

回归预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM、BiLSTM多输入单输出回归预测

回归预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM、BiLSTM多输入单输出回归预测 目录 回归预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM、BiLSTM多输入单输出回归预测效果一览基本描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-BiLSTM、PSO-BiLSTM、BiLSTM神经…

【综合布线技术】网络杂谈(17)之什么是综合布线系统

涉及知识点 什么是综合布线系统&#xff0c;综合布线的特点&#xff0c;综合布线的标准&#xff0c;综合布线 6 个子系统&#xff0c;综合布线系统的构成&#xff0c;深入了解综合布线技术。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》&#xff0c;更多内容可去其主页关注…

chatgpt赋能python:Python量化指标库介绍

Python量化指标库介绍 Python是一种高级编程语言&#xff0c;因其简单易用、开源免费、生态环境完备等优点&#xff0c;已成为量化分析领域的首选编程语言之一。随着金融市场越来越复杂&#xff0c;金融量化分析的需求也日益增长。为了满足这一需求&#xff0c;Python量化指标…

【OJ比赛日历】快周末了,不来一场比赛吗? #07.01-07.07 #11场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2023-07-01&#xff08;周六&#xff09; #3场比赛2023-07-02…

Yarn的实现原理

Yarn作为分布式集群的资源调度框架&#xff0c;它的出现伴随着Hadoop的发展&#xff0c;使Hadoop从一个单一的大数据计算引擎&#xff0c;成为一个集存储、计算、资源管理为一体的完整大数据平台&#xff0c;进而发展出自己的生态体系&#xff0c;成为大数据的代名词。 Yarn的发…

谷歌云:全面推出 AlloyDB for PostgreSQL 与数据库迁移服务

【本文由Cloud Ace 整理发布。Cloud Ace 是谷歌云全球战略合作伙伴&#xff0c;拥有 300 多名工程师&#xff0c;也是谷歌最高级别合作伙伴&#xff0c;多次获得 Google Cloud 合作伙伴奖。作为谷歌托管服务商&#xff0c;我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证培…

在Android Studio 中运行React Native 项目

项目根目录执行命令安装开发依赖 yarn检查项目SDK、NDK、JDK否配置正确 点击 Android Studio 里点击大象 全部下载完毕&#xff0c;点击运行按钮&#xff0c;编译项目 连接真机的两种方式 无线连接 adb devices adb tcpip 5555 #连接端口默认5555 adb connect 192.168.0…

低功耗测距语音方案,4路PWM调光,三合一语音芯片WTV890-B004

随着智能门锁市场的不断发展&#xff0c;人们对于智能化、便捷化的需求也越来越高。在这个背景下&#xff0c;深圳唯创知音研发出了三合一语音芯片——WTV890-B004。这款创新产品集低功耗红外测距、语音播放和4路PWM调光功能于一体&#xff0c;为您打造一个高效、智能化方案。 …

上传自己的npm依赖包

有时候我们需要对某个依赖包的源码进行修改进行使用&#xff0c;但我们又不能对已有的源码官网进行上传更新&#xff0c;这时&#xff0c;我们可以获取依赖包进行修改后&#xff0c;自行部署到https://npmjs.com中 1.官网https://npmjs.com中注册一个账号&#xff08;账号&…

微信小程序 editor图片上传到node服务器并展示在当前页面

前端 html <!-- 富文本 --><view class"container"><editor id"editor" ref"editor" :placeholderplaceholder input"onInput" ready"onEditorReady"></editor></view><view class…

pytorch 的matmult()函数详解

torch.matmul()也是一种类似于矩阵相乘操作的tensor连乘操作。但是它可以利用python中的广播机制&#xff0c;处理一些维度不同的tensor结构进行相乘操作。 matmul 就是矩阵求 叉乘 如果是二维矩阵&#xff0c;两个矩阵的大小应该为m*n &#xff0c;n*m。 一维向量的乘积&…

使用 .NET 开始 OpenAI Completions

作者&#xff1a;Luis Quintanilla 翻译&#xff1a;Alan Wang 排版&#xff1a;Alan Wang 欢迎来到有关 OpenAI 和 .NET 的博客系列&#xff01; 如果您是新来的&#xff0c;请查看我们的第一篇文章&#xff0c;我们在其中介绍了系列内容&#xff0c;并向您展示如何在 .NET 中…

vue3 elementplus table表格多行合计

表格底部如何多行合计 1.先在标签上定义合计方法 <el-table:data"data":summary-method"getSummaries":show-summary"true"selection-change"handleSelectionChange">2.文件头部引入h函数渲染多行div&#xff0c;BigNumber 防…

2023上半年软考系统分析师科目一整理-15

2023上半年软考系统分析师科目一整理-15 信息系统的性能评价指标是客观评价信息系统性能的依据&#xff0c;其中&#xff0c;&#xff08; &#xff09;是指系统在单位时间内处理请求的数量。 &#xff08;60&#xff09;A.系统响应时间 B.吞吐量 C.资源利用率 D.并发用户数 吞…

(四)灌溉系统硬件部分(更换为esp32实现)

ESP32入门&#xff1a;添加链接描述 模拟ESP32环境的在线工具&#xff1a;地址 Esp32的引脚知识&#xff1a;添加链接描述 ESP32(基于Arduino)连接EMQX的Mqtt服务器上传信息与命令控制:添加链接描述 TTL转RS-485模块:添加链接描述 等ttl转rs485模块到了&#xff0c;参考这篇…

【xss漏洞-svg标签】详解svg标签+触发XSS

目录 一、理论知识 SVG标签的使用 二、实战部分 一、理论知识 SVG标签的使用 代码中的SVG标签和onload事件本身并不依赖于其他特定的标签来触发弹窗。无论它们被放置在哪个标签内&#xff0c;只要浏览器解析并加载了这个SVG标签&#xff0c;onload事件就会被触发。 注&am…

SpringIOC机制详解

一、IOC概述及作用 &#xff08;一&#xff09;IOC的简介&#xff0c;设计思想 SpringIOC&#xff1a;IOC是Inversion of Control的缩写&#xff0c;多数书籍翻译成“控制反转”。 IOC这个概念简单来说就是把复杂系统分解成相互合作的对象&#xff0c;这些对象类通过封装以后…