2.二进制的方式读写文件

本文详细介绍了在C++中如何使用ofstream和ifstream进行二进制文件的写入(包括创建流对象、指定打开方式、写入数据及关闭文件)以及读取(判断文件是否打开、读取数据并显示内容)。同时提到了文件打开模式的标记及其查阅方法。
摘要由CSDN通过智能技术生成

写入文件

------写文件一共五步:------
第一步:包含头文件
第二步:创建流对象
第三步:指定方式打开文件
第四步:写内容
第五步:关闭文件

代码

注意二进制写文件时,字符串不要使用string,尽量使用C语言中的字符数组来表示。

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<fstream>

using namespace std;

/*------写文件一共五步:------*/
/*------第一步:包含头文件------*/
/*------第二步:创建流对象------*/
/*------第三步:指定方式打开文件------*/
/*------第四步:写内容------*/
/*------第五步:关闭文件------*/

class Person
{
public:
	char name[200];
	int age;
};

void test01()
{
	Person s = { "小丽", 20 };

	/*创建对象*/
	ofstream ofs;

	/*二进制打开文件*/
	ofs.open("textBinary.txt", ios::out | ios::binary);

	/*写入数据*/
	ofs.write((const char *)&s, sizeof(Person));

	/*关闭文件*/
	ofs.close();

	return;
}

int main()
{
	test01();

	return 0;
}

运行结果

由于是二进制写入,所以看不到完整的写入内容,下边会用二进制的形式,读取文件中的数据
在这里插入图片描述

读出文件

/------读文件一共五步:------/
第一步:包含头文件
第二步:创建流对象
第三步:打开文件并判断文件是否打开成功
第四步:读数据
第五步:关闭文件

代码

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<fstream>

using namespace std;

/*------读文件一共五步:------*/
/*------第一步:包含头文件------*/
/*------第二步:创建流对象------*/
/*------第三步:打开文件并判断文件是否打开成功------*/
/*------第四步:读数据------*/
/*------第五步:关闭文件------*/

class Person
{
public:
	char name[200];
	int age;
};

void test01()
{
	Person s;

	/*创建对象*/
	ifstream ifs;

	/*二进制打开文件*/
	ifs.open("textBinary.txt", ios::in | ios::binary);

	if(!(ifs.is_open()))
	{
		cout << "文件打开失败!" << endl;
		return;
	}


	/*写入数据*/
	ifs.read((char*)&s, sizeof(Person));

	/*关闭文件*/
	ifs.close();

	cout << "姓名 :" << s.name << endl;
	cout << "年龄 :" << s.age << endl;

	return;
}

int main()
{
	test01();

	return 0;
}

运行结果

从运行结果来看,已经成功的将二进制文件中的数据,读到了程序的缓存中
在这里插入图片描述

文件打开模式标记(查表)

在这里插入图片描述
打开模式信息是从C语言中文网查阅的,大家可自行去查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值