ifstream和ofstream的理解

article/2025/10/19 8:20:43

ifstream和ofstream的理解

开发工具与关键技术:Visual Studio、C++
作者:张国军
撰写时间:2019年06月04日

各种计算机应用系统通常把一些相关信息组织起来保存在外存储器中,称为文件,并用一个名字(称为文件名)加以标识
C++把文件看成无结构的字节流,
编码方式: 文本方式 二进制方式
存取方式: 顺序存取 随机存取
ifstream、ofstream 和 fstream 类用于内存与文件之间的数据传输
我们的ifstream用于读文件、ofstream用于写文件,而fstream可以执行读写操作。
文件操作的基本步骤:
打开文件
读 / 写文件
关闭文件
包括建立文件流对象;与外部文件关联;指定文件的打开方式
打开文件有两种方法:
首先建立流对象,然后调用fstream::open()函数连接外部文件
流类 对象名 ;
对象名 . open ( 文件名 , 方式 ) ;
调用流类带参数的构造函数,建立流对象的同时连接外部文件
流类 对象名 ( 文件名 , 方式 ) ;
open 函数原型
void open ( const char * , int mode , int = filebuf :: openprot ) ;
filebuf、ifstream、ofstream、fstream的构造函数具有相同的参数和缺省值
文件流的构造函数和 open ( ) 函数用于打开文件,析构函数在流对象被删除之前关闭文件
其中,第一个参数表示相关联的文件名、第二个参数表示文件的打开方式、第三个参数是文件的保护方式,一般只用缺省值。
我们先来看一个简单的例子吧:

#include <iostream>
#include <fstream>
using namespace std;
void main() {ifstream in("main.cpp");char i;while (in.get(i)){cout << i;}
}

我这例子是读我当前这个main.cpp文件,也就是我们当前写代码的文件。我读了之后将它进行控制台输出,那么我们来看下边的结果图:

在这里插入图片描述
从这里我们可以看到我们控制台输出的数据跟我们的main.cpp里边的是一样的。
我们这里主要用到了ifstream进行读文件,然后进行控制台输出。
那么我们来看一下简单的ofstream的例子:

#include <iostream>
#include <fstream>
using namespace std;
void main() {ifstream in("main.cpp");ofstream out("main.txt");char i;while (in.get(i)){out << i;}
}

例子还是一样,主要的作用是将我们main.cpp里边的内容写入到我们main.tex文件里面。至于这个main.txt文件呢,我们需要去查看它刚开始时是否存在。当我们开始的时候main.txt文件不存在的时候,那么它会自己创建文件,然后进行写入。当我们开始的时候有main.txt文件的时候,那么我们里边的内容将会被我们一次的覆盖掉,所以我们需要注意一下。
在这里插入图片描述
这是我们第二次执行的结果。
在这里插入图片描述
还有就是我们的路径问题,我这里用的是相对路径,当然我们有可以用绝对路径,那么我们需要将路径打完整。相对路径呢它是相对于我们main.cpp来说的,也就是我们的这个执行文件。
至于还有什么其他大作用,还得慢慢的去研究了。


http://chatgpt.dhexx.cn/article/pVRKP1iX.shtml

相关文章

【Stream】

1、stream不存储数据&#xff0c;而是按照特定的规则对数据进行计算&#xff0c;一般会输出结果&#xff1b; 2、stream不会改变数据源&#xff0c;通常情况下会产生一个新的集合&#xff1b; 3、stream具有延迟执行特性&#xff0c;只有调用终端操作时&#xff0c;中间操作才会…

(转载)C++ ofstream和ifstream详细用法

原文出自【比特网】&#xff0c;转载请保留原文链接&#xff1a;http://soft.chinabyte.com/database/460/11433960.sh [导读] ofstream是从内存到硬盘&#xff0c;ifstream是从硬盘到内存&#xff0c;其实所谓的流缓冲就是内存空间 在C中&#xff0c;有一个stream这个类&…

Stream流:

创建stream流&#xff1a; //单列集合 集合.stream//数组 stream.of(数组)//双列集合 map.entrySet().stream(); stream流的调试&#xff1a; 常用API: - map:相当于对数据进行一个操作&#xff0c;可以自定义返回值等 stream.map() - distinct:可以去除流中的相同元素&…

c++输出文件流ofstream用法详解

目录 一. 输入流 ofstream 用法 Public member functions (1-6) 1&#xff0c; (constructor) 2&#xff0c; ofstream::open 3&#xff0c; ofstream::is_open 4&#xff0c; ofstream::close 5&#xff0c; ofstream::rdbuf 6&#xff0c;ofstream::operator Public member …

C++文件和流

C文件和流 到目前为止&#xff0c;我们已经使用了 iostream 标准库&#xff0c;它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。 本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C 中另一个标准库 fstream&#xff0c;它定义了三个新的数据…

什么是https

HTTPS&#xff08;全称&#xff1a;Hypertext Transfer Protocol over Secure Socket Layer&#xff09;&#xff0c;是以安全为目标的HTTP通道&#xff0c;简单讲是HTTP的安全版。即HTTP下加入SSL层&#xff0c;HTTPS的安全基础是SSL&#xff0c;因此加密的详细内容请看SSL。 …

http和https有什么区别 端口号多少

HTTP和HTTPS的基本概念 HTTP&#xff1a;超文本传输协议&#xff0c;是在互联网上应用最广泛的一种网络协议。是一个客户端和服务端请求和应答的标准&#xff08;TCP&#xff09;&#xff0c;用于从WWW&#xff08;超文本&#xff09;服务器传输超文本到本地浏览器的传输协议。…

https 请求的端口是443 注意

注意: 这里录制https的请求 端口号一定是443 才可以抓取到!!!!!! &#xff08;进坑多次&#xff09; 转载于:https://www.cnblogs.com/kaibindirver/p/9223595.html

IP地址,开放端口,http与https的区别

文章目录 一、IP地址的概述二、IP地址分类1、**共有地址**2、 **私有地址** 三、IPV4和V6四、子网掩码、网关、DNS1、 子网掩码2、网关3、DNS服务器 五、获取目标IP地址的方法1、 通过ping命令&#xff1a;2、 通过NSLOOKUP命令&#xff1a;1.使用资源监视器查看&#xff1a;2.…

Linux网络——图解HTTPS协议与端口号认识

Linux网络——图解HTTPS协议与端口号认识 一、确保HTTP安全的方式1.1 HTTP明文加密<1> 通信加密<2> 内容加密 1.2 验证通信方身份1.3 验证报文完整性&#xff0c;防止被篡改 二、HTTP加密认证完整性保护HTTPS2.1 SSL/TLS2.2 对称加密2.3 非对称加密2.4 混合加密 三…

什么是SSL端口?HTTPS配置技术指南

安全套接字层&#xff08;SSL&#xff09;是负责互联网连接的数据身份验证和加密的技术。它加密在两个系统之间&#xff08;通常在服务器和客户端之间&#xff09;之间通过互联网发送的数据&#xff0c;使其保持私密。随着在线隐私的重要性日益增加&#xff0c;您应该熟悉SSL端…

--端口--

目录 一、端口的读写 二、shl和shr指令 我们在之前所讲过&#xff0c;各种存储器都和CPU的地址线、数据线、控制线相连。CPU在操控它们的时候&#xff0c;把它们当做内存来看待&#xff0c;把它们总地看做一个由若干存储单元组成的逻辑存储器&#xff0c;这个逻辑存储器我们称…

服务器中如何检查端口是否开放

服务器中如何检查端口是否开放 端口对于一台服务器来说是至关重要的&#xff0c;它是服务器与外部网络设备的协议出口&#xff0c;它一共拥有65536个(0-65535)&#xff0c;其中一些端口已经是约定好什么协议在使用了的&#xff0c;像80端口就是web服务使用、3389端口是Windows远…

部署https证书的端口是什么意思

端口号能够觉得是机器设备与外部通信沟通交流的出入口。http的端口号为80&#xff0c;那么&#xff0c;你知不知道https证书的端口是什么吗&#xff1f;今日小编就来详细介绍下。 https证书的端口是什么 https证书布署安装&#xff0c;网络服务器必须关联端口号&#xff0c;一…

一分钟了解HTTP和HTTPS协议

很多人存在这样的疑惑就是http与https的区别&#xff0c;这篇文章就跟大家介绍一下。一句话总结HTTPS是身披SSL外壳的HTTP&#xff0c;HTTPS更安全&#xff0c;实际使用中绝大多数的网站现在都采用的是HTTPS协议&#xff0c;这也是未来互联网发展的趋势。 什么是协议&#xff1…

MVC5项目发布到IIS

1.右击项目&#xff0c;点击发布&#xff08;本人用的是vs2017&#xff09; 2 选择要发布的目标位置&#xff0c;简单说就是你想把发布生成的文件保存到哪里。本人在F盘建了个MVCPublishToIIS的文件夹。 发布方法选择文件系统(File System) 3 点击下一页继续 配置选择Release 发…

创建ASP.NET MVC5 应用程序

创建第一个ASP.NET MVC项目。使用Visual Studio 2017/2019创建ASP.NET MVC5应用程序&#xff0c;要求如下&#xff1a; &#xff08;1&#xff09;选择“MVC”模板&#xff0c;创建ASP.NET MVC应用程序。 &#xff08;2&#xff09;分别修改主页、关于我们及联系方式页面内容。…

[Asp.Net MVC5](一)- 理解MVC模式

1. MVC模式概念 MVC模式&#xff08;Model-View-Controller&#xff09;是软件工程中的一种软件架构模式&#xff0c;把软件系统分为以下三个基本部分&#xff1a; ◆Model封装了你的应用数据、应用流程和业务逻辑。“模型”有对数据直接访问的权力&#xff0c;例如对数据库的…

经验之谈 ---- ASP.NET应用程序MVC5模式下的简单实例项目

刚开始做ASP.NET应用程序的时候&#xff0c;自己一脸蒙B&#xff0c;具体的程序流程都不懂&#xff0c;所以自己打算写一个最简单的项目来看看ASP.NET MVC项目的具体流程。 若有写得不好的&#xff0c;还望指出. 目录结构如下图所示&#xff1a; 在企业中开发的时候需要自建A…

MVC5+EF6 入门完整教程五

上篇文章介绍了EF实现CRUD及一些基本的Html Helpers. 这次我们将会对之前的内容进行一些修改和重构&#xff1a; 引入Bootstrap样式&#xff0c;搭建几类共用的模板页&#xff0c;对UI进行一些改造 分类介绍Html Helpers 完善一些功能 文章提纲 理论基础 UI改造详细步骤 总结…