C++ ios_base类

发布时间:2026/9/29 9:21:25

C++ ios_base类
目录一_Fmtfl 格式二width 格式三precision 格式四sync_with_stdio函数ios_base类是输入输出流的一个基础类。The classios_baseis a multipurpose class that serves as the base class for all I/O stream classes.一_Fmtfl 格式这个成员的每一位都用来控制流的一个属性初始化_Fmtfl skipws | dec; 初始值是513读取flags()替换flags(fmtflags _Newfmtflags)加格式setf(fmtflags _Newfmtflags)在给定的mask内设置格式setf(fmtflags _Newfmtflags, fmtflags _Mask)相关库函数_NODISCARD fmtflags __CLR_OR_THIS_CALL flags() const { return _Fmtfl; } fmtflags __CLR_OR_THIS_CALL flags(fmtflags _Newfmtflags) { // set format flags to argument const fmtflags _Oldfmtflags _Fmtfl; _Fmtfl _Newfmtflags _Fmtmask; return _Oldfmtflags; } fmtflags __CLR_OR_THIS_CALL setf(fmtflags _Newfmtflags) { // merge in format flags argument const ios_base::fmtflags _Oldfmtflags _Fmtfl; _Fmtfl | _Newfmtflags _Fmtmask; return _Oldfmtflags; } fmtflags __CLR_OR_THIS_CALL setf( fmtflags _Newfmtflags, fmtflags _Mask) { // merge in format flags argument under mask argument const ios_base::fmtflags _Oldfmtflags _Fmtfl; _Fmtfl (_Oldfmtflags ~_Mask) | (_Newfmtflags _Mask _Fmtmask); return _Oldfmtflags; } void __CLR_OR_THIS_CALL unsetf(fmtflags _Mask) { // clear format flags under mask argument _Fmtfl ~_Mask; }示例int main() { cout cout.flags() endl; cout.setf(ios::unitbuf); cout cout.flags() endl; cout.unsetf(ios::unitbuf); cout cout.flags() endl; return 0; }输出513515513其中ios::unitbuf是常数2其他的 _Fmtfl 格式二width 格式width用来控制整数输出的宽度即占几个字符相关库函数_NODISCARD streamsize __CLR_OR_THIS_CALL width() const { return _Wide; } streamsize __CLR_OR_THIS_CALL width(streamsize _Newwidth) { // set width to argument const streamsize _Oldwidth _Wide; _Wide _Newwidth; return _Oldwidth; }示例int main() { for (int i 0; i 100; i) { if (i % 10 0)cout endl; cout.width(3); cout i; } return 0; }三precision 格式precision用来控制浮点数的输出精度相关库函数_NODISCARD streamsize __CLR_OR_THIS_CALL precision() const { return _Prec; } streamsize __CLR_OR_THIS_CALL precision(streamsize _Newprecision) { // set precision to argument const streamsize _Oldprecision _Prec; _Prec _Newprecision; return _Oldprecision; }示例int main() { cout.precision(3); cout 1.414213562; return 0; }输出1.41四sync_with_stdio函数Sets whether the standard C streams are synchronized to the standard C streams after each input/output operation.相关库函数static bool __CLRCALL_OR_CDECL sync_with_stdio( bool _Newsync true) { // set C/C synchronization flag from argument _BEGIN_LOCK(_LOCK_STREAM) // lock thread to ensure atomicity const bool _Oldsync _Sync; _Sync _Newsync; return _Oldsync; _END_LOCK() }其中_Sync是私有静态成员__PURE_APPDOMAIN_GLOBAL static bool _Sync;这表明所有的流共享一个_Sync成员。

相关新闻

Windows Defender 终极禁用指南:开源工具Defender Control完整使用教程

Windows Defender 终极禁用指南:开源工具Defender Control完整使用教程

2026/9/29 9:21:11

Windows Defender 终极禁用指南:开源工具Defender Control完整使用教程 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defende…

Win10网信政府版磁盘共享

Win10网信政府版磁盘共享

2026/9/5 21:55:18

共享主机(被访问主机): 1.添加访问用户 gpedit.msc 打开本地组策略编辑器2.关闭拒绝访问3.设置网络共享、关闭密码保护4.启用Smb1.0/cifs文件共享支持5.共享文件访问主机: 1.启用不安全来宾登录2.启用Smb1.0/cifs文件共享支持访问…

windows server 2003 连接 win10 共享打印机

windows server 2003 连接 win10 共享打印机

2026/9/27 15:35:48

Windows server 2003 可访问win10主机,但无法连接打印机,报错“提供凭证不足……”1.在server主机上加载驱动安装一台打印机2.控制面板—>打印机和传真—>选中安装的打印机右击“属性”—>端口—>添加端口—>local port—>新端口—>…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/28 4:08:17

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/28 16:01:49

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/28 3:14:54

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/28 3:47:14

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/28 16:01:48

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/28 16:01:48

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…