二进制方式读取文件主要利用流对象调用成员函数read 函数原型:istream& read(char buffer, int len);* 参数解释:内存指针buffer指向内存中的一段存储空间,len是读写的字节数 读取二进制文件步骤: 1、包含头文件:#include< fstream > 2.创建流对象:ifstream ifs; 3.打开文件:ifs.open(“perosn.txt”,ios::in | ios::binary) 4.判断文件是否打开成功:ifs.is_open(); 5.读取文件:char buffer[64]; ifs.read(char buffer,int len); 6.打印输出:cout<<buffer<<endl; 7.关闭文件:ifs.close()
#include<iostream>
using namespace std;
#include<fstream>
class person {
public:
char name[64];
int age;
};
int main()
{
//写法1:
/*ifstream ifs;
ifs.open("person.txt", ios::in | ios::binary);*/
//写法2: ifstream本身是一个结构体,可以这样直接赋值
ifstream ifs("person.txt", ios::in | ios::binary);
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
}
person p;
ifs.read((char*)&p, sizeof(person));
cout << "姓名:" << p.name << " " << "年龄:" << p.age << endl;
ifs.close();
system("pause");
return 0;
}