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

news2024/12/23 13:29:29

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.coloradmin.cn/o/828005.html

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

相关文章

物联网潜在的巨大价值在于大数据分析

物联网潜在的巨大价值在于大数据分析 从数据里去挖掘市场或者用户的精准需求。 往小的说&#xff0c;后台可以统计用户家里各各插座一年甚至更久的用电情况&#xff0c;这些数据也可以通过app或者小程序展现给用户。 用户可以很直观看到自己一年的用电情况&#xff0c;哪个家…

2.6 伽马校正 一、Gamma校正

一、Gamma校正 颜色空间 通用&#xff1a;sRGB 电影&#xff1a;DCI-P3 电视&#xff1a;Rec-709、PAL等 印刷&#xff1a;CMYK、Adobe RGB 传递函数 我们知道了颜色的颜色值&#xff0c;要在电子设备上显示&#xff0c;就要把它转换为视频信号&#xff0c;传递函数就是用…

Linux上安装Keepalived,多台Nginx配置Keepalived(保姆级教程)

目录 一、yum安装 第一步&#xff1a;下载 第二步&#xff1a;编辑Keepalived配置文件&#xff08;第一台&#xff09; 第三步&#xff1a;编辑Keepalived配置文件&#xff08;第二台&#xff09; 第四步&#xff1a;我们在本机利用cmd ping一下 一、yum安装 第一步&…

[国产MCU]-BL602开发实例-开发环境搭建

开发环境搭建 文章目录 开发环境搭建1、BL602介绍2、软件准备3、源码编译3.1 编译内置工程3.2 自定义工程、自定义组件添加与编译4、固件下载BL602 是一款Wi-Fi + BLE组合的芯片组,用于低功耗和高性能应用开发。无线子系统包含2.4G无线电,Wi-Fi 802.11b/g/n和BLE 5.0 基带/MA…

【编程范式】聊聊编程的本质

任何算法都会有两个部分&#xff0c; 一个是 Logic 部分&#xff0c;这是用来解决实际问题的。另一个是 Control 部分&#xff0c;这是用来决定用什么策略来解决问题。Logic 部分是真正意义上的解决问题的算法&#xff0c;而 Control 部分只是影响解决这个问题的效率。程序运行…

单元测试之- mock工具mockito

常用的mock工具mockito 在编写单元测试时&#xff0c;需要mock依赖的对象&#xff0c;减少依赖对象对测试的影响&#xff0c;Mocktio是常用的mock工具之一&#xff0c;那么mockito提供了哪些功能呢&#xff1f; Mock对象的创建和配置&#xff1a;Mockito可以通过简单的语法创建…

WebView2对比CefSharp的超强优势

第一次使用了CefSharp组件&#xff0c;集成开发结束后&#xff0c;测试及使用过程中遇到了一些无法处理的bug及严重的性能问题。然后又测试对比了其他多种组件&#xff0c;具体情况可以阅读我的博客​ ​《.NET桌面程序集成Web网页开发的十种解决方案》​​。最终选用了微软新出…

质数(判定质数 分解质因数 筛质数)

这里写目录标题 一、判定质数思路分析代码实现 二、分解质因数思路分析典型题目代码实现 三、质数筛经典题目思路分析1. 朴素筛法2. 埃氏筛法3. 欧拉筛法 一、判定质数 思路分析 由于每个合数的因子是成对出现的&#xff0c;即如果 d d d 是 n n n 的因子&#xff0c;那么 …

【python】两数之和 python实现(详细讲解)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

使用gdb打印寄存器和地址的值

目录 一、文件介绍&#xff1a;1、源码2、目标文件test13、使用dynamorio工具生成的注释文件&#xff08;后面简称它注释文件吧&#xff09; 二、使用gdb调试目标文件1、设置断点2、设置汇编格式为intel3、打开tui界面&#xff08;汇编c语言&#xff09;4、run5、查看当前指令5…

tomcat8的安装与服务启动脚本的配置并部署jpress应用

目录 一.了解tomcat8 二.下载安装包 三.安装jdk与tomcat 1.安装jdk 2.安装tomcat &#xff08;1&#xff09;解压安装包并创建软链接 &#xff08;2&#xff09;设置启动用户并更改权限 &#xff08;3&#xff09;编写系统服务文件 &#xff08;4&#xff09;重新加载文件…

【计算机视觉|语音分离】期望在嘈杂环境中聆听:一个用于语音分离的不依赖于讲话者的“音频-视觉模型”

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Looking to Listen at the Cocktail Party: A Speaker-Independent Audio-Visual Model for Speech Separation 链接&#xff1a;Looking to listen at the cocktail party: a speaker-in…

数据采集的方法有哪些?

近年来&#xff0c;国家和各大企业都在部署大数据战略。“大数据”这个词也越来越频繁地出现在我们的生活中。当我们在进行网上冲浪时&#xff0c;页面总会跳出我们想要搜索的相关产品或关联事物。大数据&#xff0c;似乎总是能够“算”出我们“心中所想”。那么&#xff0c;大…

键入网址到网页显示,期间发生了什么

HTTP 浏览器做的第一步工作是解析URL 首先浏览器做的第一步工作就是要对URL进行解析&#xff0c;从而生成发送给 web 服务器的请求信息。 所以图中长长的URL实际上是请求服务器里的文件资源。 如果图中的蓝色部分URL元素省略了&#xff0c;那应该请求哪个文件呢&#xff1f; 当…

arcgis--连接到数据库失败--外部数据库驱动程序(1)

问题描述&#xff1a; 在加载Excel表格时出现以下问题&#xff0c;无法加载进来。 经过百般尝试&#xff0c;终于找到解决方法。 解决方案&#xff1a; 在微软官网下载accessDataEngine程序&#xff0c;并按照相关位数&#xff08;32位或64位&#xff09;安装&#xff0c;具…

FastAPI(七)应用配置

目录 一、在apps下新建文件夹config 二、新建配置文件app_conf.py 一、在apps下新建文件夹config 二、新建配置文件app_conf.py from functools import lru_cachefrom pydantic.v1 import BaseSettingsclass AppConfig(BaseSettings):app_name: str "Windows10 插件&qu…

git上传代码

gitee 1.生成密钥 输入ssh-keygen -t rsa 不断回车 2.查看密钥 3.设置里上传密钥 4.在git bash里输入ssh -T gitgitee.com

Boost开发指南-3.11pool_alloc

pool_alloc pool_alloc提供了两个可以用于标准容器模板参数的内存分配器&#xff0c;分别是pool_alloc和fast_pool_allocator&#xff0c;它们的行为与之前的内存池类有一点不同——当内存分配失败时会抛出异常std::bad_alloc。它们位于名字空间boost&#xff0c;需要包含头文…

uniapp h5支付宝支付后端返回Form表单,前端如何处理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1.调取接口拿到后端返回的form表单 前言 uniapp h5 支付宝支付&#xff0c;后端返回一串form表单&#xff0c;前端如何拿到支付串并且调用支付 1.调取接口拿到…

[Docker实现测试部署CI/CD----Jenkins集成相关服务器(3)]

目录 7、 Jenkins 集成 SonarQubeJenkins 中安装 SonarScanner下载移动修改配置文件 8、Jenkins配置SonarQube安装插件添加SonarQube添加 SonarScanner 9、Jenkins集成目标服务器 7、 Jenkins 集成 SonarQube Jenkins 中安装 SonarScanner SonarScanner 是一种代码扫描工具&am…