当前位置: 首页 > news >正文

ios_base::out和ios::out、ios_base::in和ios::in、ios_base::app和ios::app等之间有什么区别吗?

2023年8月2日,周三晚上

今天我看到了这样的两行代码:

std::ofstream file("example.txt", std::ios_base::out);std::ofstream file("example.txt", std::ios::out);

这让我产生了几个疑问:

为什么有时候用ios_base::out,有时候用ios::out?

ios_base::out和ios::out之间有区别吗?

我花了一两个小时才搞清楚....


目录

  • 结论
  • ios_base类的 I/O 流控制标志有哪些
  • ios类的 I/O 流控制标志有哪些
  • 证明它们是一样的

结论

ios_base::out和ios::out之间没有区别,它们是一模一样的。

因为它们都是整形常量,而且数值一样,完全可以互相代替。

至于什么时候用哪个,我认为喜欢用哪个就用哪个,因为它们确实是一样的。

ios_base类的 I/O 流控制标志有哪些

  • std::ios_base::in:输入模式,表示以读取方式打开流。
  • std::ios_base::out:输出模式。
  • std::ios_base::app:追加模式,表示以写入方式打开流,并将数据追加到文件末尾而不清除原有内容。
  • std::ios_base::trunc:截断模式,表示以写入方式打开流,并清除文件原有内容。
  • std::ios_base::binary:二进制模式,以二进制方式打开流。
  • std::ios_base::ate:打开流后将文件指针定位到文件末尾。

ios类的 I/O 流控制标志有哪些

  • std::ios::in:输入模式,表示以读取方式打开流。
  • std::ios::out:输出模式。
  • std::ios::app:追加模式,表示以写入方式打开流,并将数据追加到文件末尾而不清除原有内容。
  • std::ios::trunc:截断模式,表示以写入方式打开流,并清除文件原有内容。
  • std::ios::binary:二进制模式,以二进制方式打开流。
  • std::ios::ate:打开流后将文件指针定位到文件末尾。

证明它们是一样的

#include<iostream>
#include<fstream>int main(){printf("ios_base::in的值:%d\n",std::ios_base::in);printf("ios::in的值:%d\n",std::ios::in);printf("-------------\n");printf("ios_base::out的值:%d\n",std::ios_base::out);printf("ios::out的值:%d\n",std::ios::out);printf("-------------\n");printf("ios_base::app的值:%d\n",std::ios_base::app);printf("ios::app的值:%d\n",std::ios::app);printf("-------------\n");printf("ios_base::trunc的值:%d\n",std::ios_base::trunc);printf("ios::trunc的值:%d\n",std::ios::trunc);printf("-------------\n");printf("ios_base::binary的值:%d\n",std::ios_base::binary);printf("ios::binary的值:%d\n",std::ios::binary);printf("-------------\n");printf("ios_base::ate的值:%d\n",std::ios_base::ate);printf("ios::ate的值:%d\n",std::ios::ate);printf("-------------\n");}

 

http://www.lryc.cn/news/115034.html

相关文章:

  • PostgreSQL 使用SQL
  • Shell编程基础(十四)文本三剑客(grep)
  • Linux root用户执行修改密码命令,提示 Permission denied
  • Java面向对象学习第三部分
  • python+vue生成条形码码并展示
  • 在线高精地图生成算法调研
  • 【干货】商城系统的重要功能特性介绍
  • MYSQL06高级_为什么使用索引、优缺点、索引的设计、方案、聚簇索引、联合索引、注意事项
  • LeetCode 130. 被围绕的区域
  • python中2等于2.0吗,python中【1:2】
  • 【2023年11月第四版教材】《第2章-信息技术发展(第一部分)》
  • 【CSS】说说对BFC的理解
  • ES6学习-Class类
  • C语言经典小游戏之扫雷(超详解释+源码)
  • 算法leetcode|67. 二进制求和(rust重拳出击)
  • 【ASP.NET MVC】第一个登录页面(8)
  • 使用Openoffice或LibreOffice实现World、Excel、PPTX在线预览
  • 20天学会rust(三)没有object的rust怎么面向对象?
  • 整数规划——第三章 全单模矩阵
  • 数据结构和算法
  • [Vulnhub] matrix-breakout-2-morpheus
  • JDK, JRE和JVM之间的区别和联系
  • mac电脑访问windows共享文件夹连接不上(设置445端口)
  • metersphere性能压测执行过程
  • 揭秘Word高级技巧:事半功倍的文字处理策略
  • 06-1_Qt 5.9 C++开发指南_对话框与多窗体设计_标准对话框
  • 模拟实现消息队列项目(系列7) -- 实现BrokerServer
  • vscode插件不能搜索安装
  • 路由器工作原理(第二十九课)
  • linux log 日志