文章目录
- 写入文件
- 代码
- 运行结果
- 读出文件
- 代码
- 运行结果
- 文件打开模式标记(查表)
写入文件
------写文件一共五步:------
第一步:包含头文件
第二步:创建流对象
第三步:指定方式打开文件
第四步:写内容
第五步:关闭文件
代码
注意二进制写文件时,字符串不要使用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语言中文网查阅的,大家可自行去查看。