C++ 44.文件操作—二进制文件(写文件、读文件)

以二进制的方式对文件进行读写操作
打开方式指定为ios::binary
写文件利用流对象调用成员函数write
函数原型:ostream & write(const char * buffer,int len);
参数解释:字符指针buffer指向内存中一段存储空间,len是读写的字节数

读文件利用流对象调用成员函数read
函数原型:istream & read( char * buffer,int len);
参数解释:字符指针buffer指向内存中一段存储空间,len是读写的字节数

#include<iostream>
using namespace std;
#include<fstream>
#include<string>

class Person
{
public:
	char m_name[64];//姓名
	int m_Age;//年龄
};

//写文件
void test01()
{
	//1.包含头文件  #include<fstream>

	//2.创建流对象  
	ofstream ofs;
	//ofstream ofs("test.txt", ios::out |ios::binary);//将2和3合并

	//3.打开文件     | 操作符
	ofs.open("Person.txt", ios::out |ios::binary);//右击鼠标,打开文件位置,可找到新写的文件 

	//4.写文件     
	Person p = {"张三",18};
	ofs.write((const char *)&p,sizeof(Person));

	//5.关闭文件   
	ofs.close();
}

//读文件
void test02()
{
	//1.包含头文件  #include<fstream>

	//2.创建流对象  
	ifstream ifs;
	//ofstream ofs("test.txt", ios::out |ios::binary);//将2和3合并

	//3.打开文件,判断文件是否打开成功
	ifs.open("Person.txt", ios::in | ios::binary);//右击鼠标,打开文件位置,可找到新写的文件 

	//4.读文件     
	if (!ifs.is_open())
	{
		cout << "文件打开失败" << endl;
		return;
	}
	Person p;
	ifs.read((char *)&p, sizeof(Person));
	cout << "姓名:" << p.m_name << "  年龄:" << p.m_Age << endl;
	//5.关闭文件   
	ifs.close();
}


int main()
{
	//test01();
	test02();

	system("pause");
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值