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

【C++】C++文件操作-文本文件/二进制文件

0.前言

在这里插入图片描述

一、文本文件

1.写文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码

#include <iostream>
using namespace std;
#include <fstream> //头文件包含//**************************************
//文本文件 写文件
void test01() {//1.包含文件 fstream//2.创建流对象ofstream ofs;//3.指导打开方式ofs.open("text.txt", ios::out);//4.写内容ofs << "姓名:王哈哈" << endl;ofs << "年龄:19" << endl;//5.关闭文件ofs.close();
}//*************************************
int main() {test01();//**************************************system("pause");return 0;
}

结果
在这里插入图片描述

2.读文件

在这里插入图片描述
在这里插入图片描述

#include <iostream>
using namespace std;
#include <fstream> //头文件包含
#include <string>//**************************************
//文本文件 写文件
void test01() {//1.包含文件 fstream//2.创建流对象ifstream ifs; //fstream fs;也是可以的//3.指导打开方式ifs.open("text.txt", ios::in);if (!ifs.is_open()) {cout << "文件打开失败" << endl;return;}//4.读内容//第一种方式//char buf[1024] = { 0 };//while (ifs >> buf) {//	cout << buf << endl;//}第二种方式//char buf[1024] = { 0 };//while (ifs.getline(buf, sizeof(buf))) {//	cout << buf << endl;//}//第三种方式(学这个)string buf;while (getline(ifs, buf)) {  //得加上string头文件cout << buf << endl;}第四种方式,不推荐,因为是一个一个字符读,太慢了//char c;//while ((c = ifs.get()) != EOF) { //EOF  end of file//	cout << c;//}//5.关闭文件ifs.close();
}//*************************************
int main() {test01();//**************************************system("pause");return 0;
}

在这里插入图片描述

二、二进制文件

1.写文件

在这里插入图片描述
在这里插入图片描述


#include <iostream>
using namespace std;
#include <fstream> //头文件包含
#include <string>class Person {
public:char m_Name[64];int m_Age;
};
//**************************************
//二进制文件 写文件
void test01() {//1.包含头文件 fstream//2.创建输出流对象ofstream ofs("person.txt", ios::binary | ios::out);//3.打开文件/*ofs.open("text.txt", ios::out | ios::binary);*/Person p = { "张三",19 };//4.写内容ofs.write((const char*)&p, sizeof(p));//5.关闭文件ofs.close();
}//*************************************
int main() {test01();//**************************************system("pause");return 0;
}

在这里插入图片描述

2.读文件

在这里插入图片描述
在这里插入图片描述

#include <iostream>
using namespace std;
#include <fstream> //头文件包含
#include <string>class Person {
public:char m_Name[64];int m_Age;
};
//**************************************
//二进制文件 读文件
void test01() {//1.包含头文件 fstream//2.创建输出流对象ifstream ifs("person.txt", ios::binary | ios::in);//3.打开文件/*ofs.open("text.txt", ios::out | ios::binary);*/if (!ifs.is_open()) { //判断文件是否打开cout << "文件打开失败" << endl;}//4.写内容Person p;ifs.read((char*)&p, sizeof(p));cout << "姓名:" << p.m_Name << "  年龄:" << p.m_Age << endl;//5.关闭文件ifs.close();
}//*************************************
int main() {test01();//**************************************system("pause");return 0;
}

在这里插入图片描述

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

相关文章:

  • java通过http网络url下载文件
  • 网络安全【黑客】自学
  • PCA和自动编码器:每个人都能理解的算法
  • C++——STL容器【priority_queue】模拟实现
  • SpringBoot实现文件记录日志,日志文件自动归档和压缩
  • MySQL 窗口函数
  • 0140 数据链路层2
  • Python字典的应用场景
  • 关于外贸跟进客户过程中需要注意的地方
  • AI绘画:两组赛博咒语和ComfyUI使用方法
  • Nacos源码 (2) 核心模块
  • MySQL之深入InnoDB存储引擎——Buffer Pool
  • 网络安全(秋招)如何拿到offer?(含面试题)
  • 笙默考试管理系统-MyExamTest----classranking(2)
  • 基于python的一个元素多种定位方式
  • Fastdfs集群搭建
  • 【深度学习】Vision Transformer论文,ViT的一些见解《 一幅图像抵得上16x16个词:用于大规模图像识别的Transformer模型》
  • 在centos7上使用非编译方式安装ffmpeg
  • 【微信小程序】导出Excel文件
  • 接口测试—知识速查(Postman)
  • 机器学习深度学习——序列模型(NLP启动!)
  • 小白到运维工程师自学之路 第六十四集 (dockerfile构建tomcat、mysql、lnmp、redis镜像)
  • 超低功耗水表电器表LCD驱动显示芯片,高抗干扰性能提供LQFP48、LQFP64的封装
  • SpringBoot3---核心特性---2、Web开发III(模板引擎、国际化、错误处理)
  • MemFire教程|FastAPI+MemFire Cloud+LangChain开发ChatGPT应用-Part2
  • C# File.Exists与Directory.Exists用法
  • (深度学习,自监督、半监督、无监督!!!)神经网络修改网络结构如何下手???
  • Codejock Task Panel ActiveX Crack
  • LeetCode 热题 100 JavaScript--141. 环形链表
  • 文字转语音