文本文件操作

大家好:

        衷心希望各位点赞。

        您的问题请留在评论区,我会及时回答。

文件操作

        程序运行时,产生的数据都是临时数据,程序一旦运行结束都会被释放。通过文件可以将数据持久化。

        C++中对文件进行操作需要包含头文件<fstream>

        文件类型分为两种:

        1.文本文件:文件以文本的ASC||码形式存储在计算机中。

        2.二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们。

        操作文件的三大类:

        1.写操作:ofstream

        2.读操作:ifstream

        3.读写操作:fstream

文本文件

写文件

写文件步骤如下:

1.包含头文件

#include<fstream>

2.创建流对象

ofstream ofs;

3.打开文件

ofs.open("文件路径", 打开方式)

4.写数据

ofs<<"写入的数据";

5.关闭文件

ofs.close();

文件打开方式:

打开方式解释
ios::in为读文件而打开文件
ios::out为写文件而打开文件
ios::ate初始位置:文件尾
ios::app追加方式写文件
ios::trunc如果文件存在先删除,再创建
ios::binary二进制方式

注意:文件打卡方式可以配合着使用,利用|操作符

例如:用二进制方式写文件——ios::binary | ios::out

#include <iostream>
#include <Windows.h>
#include <string>
#include <fstream> // 头文件包含using namespace std;int main(void)
{// 创建流对象ofstream ofs;// 指定打开方式ofs.open("test.txt", ios::out);// 写入内容ofs << "姓名:张三" << endl;ofs << "性别:男" << endl;ofs << "年龄:18" << endl;// 关闭文件ofs.close();system("pause");return 0;
}

运行截图:

 

总结

文件操作必须包含头文件 fstream

写文件可以利用ofstream,或者fstream

打开文件的时候,需要制定操作文件的路径,以及打开方式

利用<<可以向文件中写数据

操作完毕,需要关闭文件

读文件

读文件与写文件步骤相似,但是读取方式相对比较多。

读文件步骤如下:

1.包含头文件

#include<fstream>

2.创建流对象

ifstream ifs;

3.打开文件,判断是否打开成功ifs.is_open

ifs.open("文件路径", 打开方式)

4.读数据

4种方式读取

5.关闭文件

ifs.close();

#include <iostream>
#include <Windows.h>
#include <string>#include <fstream> // 头文件包含using namespace std;int main(void)
{// 创建流对象ifstream ifs;// 打开文件,并且判断是否打开成功ifs.open("test.txt", ios::in);if ( !ifs.is_open() ){cout << "文件打开失败" << endl;return 0;}// 读数据// 1、把文件中的数据全部放入buf数据中char buf[1024] = { 0 };while (ifs >> buf){cout << buf << endl;}// 2法char buf[1024] = { 0 };while (ifs.getline(buf, sizeof(buf))){cout << buf << endl;}// 3法string buf;while (getline(ifs, buf)){cout << buf << endl;}// 4法char c;while ((c = ifs.get()) != EOF) // EOF :end of file 文件结束标志{cout << c;}// 关闭文件ifs.close();system("pause");return 0;
}

总结

读文件可以利用ifstream,或者fstream

利用is_open函数可以判断文件是否打开成功

close关闭文件

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

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

相关文章

2024年抖音小店的保证金是多少?真的可以做0元保证金的店铺吗?

大家好&#xff0c;我是电商糖果 2024年想要入驻抖音小店的商家依旧很多&#xff0c;关于小店的保证金问题也有不少人前来咨询。 大家问的最多的是可以开通0元保证金的店铺吗&#xff1f;以及2024年抖音小店保证金是多少&#xff1f; 这里糖果给大家一个个解答。 可以开通0…

第十八章 算法

一、介绍 1.1 什么是算法 算法&#xff08;Algorithm&#xff09;是指解题方案的准确而完整的描述&#xff0c;是一系列解决问题的清晰指令&#xff0c;算法代表着用系统的方法描述解决问题的策略机制。也就是说&#xff0c;能够对一定规范的输入&#xff0c;在有限时间内获…

注意力机制篇 | YOLOv8改进之在C2f模块添加级联群体注意力机制CGAttention | CVPR 2023

前言:Hello大家好,我是小哥谈。级联群体注意力机制(Cascading Group Attention)是一种注意力机制,它通过对输入序列进行逐级处理来捕捉不同层次的语义结构。该机制主要由两个关键部分组成:群体注意力和级联过程。在具体实现上,级联群体注意力机制通过构建一个层次结构,…

YOLOv9改进策略 :IoU优化| Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11

💡💡💡本文独家改进:Inner-IoU引入尺度因子 ratio 控制辅助边框的尺度大小用于计算损失,并与现有的基于 IoU ( GIoU, DIoU, CIoU,SIoU )损失进行有效结合,实现高效涨点 💡💡💡适用场景:小目标数据集,涨点近两个点,强烈推荐 《YOLOv9魔术师专栏》将从以下…

第十七章 Kafka

一、特性 - 高吞吐、低延迟 - 高伸缩性 - 持久性、可靠性 - 容错性 - 高并发 通过 O(1)的磁盘数据结构提供消息的持久化&#xff0c;这种结构对于即使数以 TB 的消息存储也能够保持长时间的稳定性能。 高吞吐量&#xff1a;即使是非常普通的硬件 Kafka 也可以支持每秒数百…

内网靶机~~dc-2

一、信息收集 1.端口扫描&#xff1a; nmap -sV -p 1-10000 10.1.1.4 2.CMS识别 3.目录扫描&#xff1a; dirsearch http://10.1.1.4/ 4.FLAG1 似乎让我们用cewl生成密码字典&#xff0c;并爆破登录。 cewl -w rewl_passwd.txt http://dc-2/index.php/flag/ 总结&#xff…

跑腿小程序|基于微信小程序的跑腿平台小程序设计与实现(源码+数据库+文档)

跑腿平台小程序目录 目录 基于微信小程序的跑腿平台小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、跑腿任务管理 3、任务类型管理 4、公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、…

蓝桥杯算法题——暴力枚举法

先估算这个数小于3的50次方 cnt0 for i in range(50):for j in range(50):for k in range(50):a3**ib5**jc7**kif a*b*c<59084709587505:cnt1 print(cnt-1)#当ijk都为0时&#xff0c;a*b*c1不是幸运数字所以要减去

freeRTOS-day2

使用PWMADC光敏电阻完成光控灯的实验 int adc_val 0; //用于保存ADC采样得到的数值 float volt 0; //用于保存电压值while (1){HAL_ADC_Start(&hadc); //开启ADC采样adc_val HAL_ADC_GetValue(&hadc); //获取ADC采样的值volt adc_val / 4095.0f * 3.3f;…

【通信原理笔记】【三】模拟信号调制——3.2 双边带抑制载波调制(DSB-SC)

文章目录 前言一、DSB-SC的数学表示二、DSB-SC的相干解调三、DSB-SC的性能评价总结 前言 从这一篇开始我们依次介绍几种模拟信号调制的方法&#xff0c;包括其数学表达式&#xff0c;系统框图、解调方式、性能评价等。 一、DSB-SC的数学表示 将 m ( t ) m(t) m(t)作为已调信号…

布隆过滤器:基于哈希函数的原理、应用解析

文章目录 一、引言1、布隆过滤器的概念简介2、布隆过滤器是基于哈希函数的强大工具 二、布隆过滤器基础知识1、布隆过滤器的工作原理2、布隆过滤器的空间效率分析3、布隆过滤器的性能特点 三、布隆过滤器的应用场景1、数据库查询优化2、例子 四、布隆过滤器的实现与优化1、常见…

NFG技术引领电商新潮流:普通商品的高端奢侈品化之路

随着网络技术、移动互联网等科技领域的迅猛进步&#xff0c;电子商务在众多新兴行业中逐渐崭露头角。然而&#xff0c;电子商务的蓬勃发展也带来了产品同质化现象加剧、市场竞争日趋激烈的问题&#xff0c;这使得商品在海量产品中脱颖而出变得愈发困难。值得注意的是&#xff0…

AI在行业大模型中的机会及爆发赚钱的行业有哪些?

人工智能(AI)正逐渐成为驱动各行业发展的核心力量,尤其是在应用层,AI结合具体细分领域所带来的生产力提升是巨大的。随着技术的不断进步和人口老龄化趋势的加剧,AI将在多个行业中发挥关键作用,为这些行业带来爆发式增长和丰厚的利润。 一、医疗行业:AI辅助诊断的崛起…

Linux:查询类型的命令type

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 type命令是Linux中一个查询类型的命令&#xff0c;它可以查询name是alias别名、keyword关键字、function函数名、builtin内建命令名&#xff08;这很有用&#xff09;或…

【粉丝福利社】鸿蒙App开发全流程实战(文末送书-进行中)

&#x1f3c6; 作者简介&#xff0c;愚公搬代码 &#x1f3c6;《头衔》&#xff1a;华为云特约编辑&#xff0c;华为云云享专家&#xff0c;华为开发者专家&#xff0c;华为产品云测专家&#xff0c;CSDN博客专家&#xff0c;CSDN商业化专家&#xff0c;阿里云专家博主&#xf…

鸿蒙:滑动条组件Slider

滑动条组件&#xff0c;通常用于快速调节设置值&#xff0c;如音量调节、亮度调节等应用场景。 说明 该组件从API Version 7开始支持。 子组件 无 接口 Slider(options?: {value?: number, min?: number, max?: number, step?: number, style?: SliderStyle, direc…

书生 浦语大模型全链路开源体系

通用大模型成为发展通用人工智能的重要途径 书生 浦语大模型的开源历程 书生 浦语 2.0体系&#xff0c;面向不同的使用需求&#xff0c;每个规格包含三个模型版本&#xff0c;&#xff08;7B、20B&#xff09;InternLM2-Base、InternLM2、InternLM2-Chat。 大模型是回归语言建…

数据可视化-ECharts Html项目实战(9)

在之前的文章中&#xff0c;我们学习了如何在ECharts中编写气泡图&#xff0c;词云图。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 数据可视化-ECharts Ht…

鸿蒙OS开发问题:【尺寸适配算法】

背景 如何在HarmonyOS 系统上出设计稿&#xff1f; 问题1: 为什么要计算虚拟高度&#xff0c;即 virtualHeight static adaptDimension(value: number): number {let deviceDisplay: display.Display GlobalContext.getContext().getObject(display) as display.Display;le…

PEReDi 完全隐私的央行数字货币方案

第一个对完全隐私保护建模的方案&#xff0c;基于账户模型&#xff0c;要求交易双方都在线。 角色分类 中央银行 B B B&#xff1a;负责发行数字货币和货币政策&#xff0c;但不控制用户账户的状态&#xff0c;没有能力对交易的发送者或接收者进行去匿名化或披露与特定交易相…