C++文件操作
**文件操作需要包含头文件:
#include<fstream>
读写操作
#include<ifstream>
读操作
#include<fstream>
写操作
文件类型分为两种:
1.文本文件:文件以文本的ASCLL码形式存储在计算机中
2.二进制文件:文件以二进制形式存储在计算机中,用户一般不能直接读懂它们
1.文本文件——写文件
写文件步骤如下:
1.包含头文件
#include<fstream>
2.创建流对象
ofstream ofs;
3.打开文件
//ofs.open("文件路径",打开方式);
ofs.open("test.txt",ios::out);
4.写入数据
ofs<<"写入的数据";
5.关闭文件
ofs.close();
打开方式:
打开方式 | 解释 |
---|---|
ios::in | 为读文件而打开文件 |
ios::out | 为写文件而打开方式 |
ios::ate | 初始位置:文件尾 |
ios::app | 追加方式写文件 |
ios::trunc | 如果文件存在先删除,再创建 |
ios::binary | 二进制方式 |
注意:文件打开方式可以配合使用,利用 | 操作符
例如:用二进制写文件ios::binary | ios::out
2.文本文件——读文件
写文件步骤如下:
1.包含头文件
#include<fstream>
2.创建流对象
ifstream ifs;
3.打开文件- 判断打开文件是否成功
//打开文件 并且判断是否打开成功
ifs.open("test.txt", ios::in);
if (!ifs.is_open())
{
cout << "打开文件失败" << endl;
return;
}
else
{
cout << "打开文件成功" << endl;
}
4.读数据
//四种方式
//第一种
char test[1000] = { 0 };
while (ifs >> test)
{
cout << test << endl;
}
//第二种
char test[1000] = { 0 };
while (ifs.getline(test, sizeof(test)))
{
cout << test << endl;
}
//第三种
string test;
while (getline(ifs, test))
{
cout << test << endl;
}
//第四种
char c;
while ((c = ifs.get()) != EOF) //EOF end of file
{
cout << c;
}
5.关闭文件
ifs.close();
3.二进制文件——写文件
写文件步骤如下:
1.包含头文件
#include<fstream>
2.创建流对象
ofstream ofs;
3.打开文件
//ofs.open("文件路径",打开方式);
ofstream ofs("aaa.txt", ios::out | ios::binary);
4.写入数据
//写文件
Person p = { "小刘",16 };
ofs.write((const char*)&p, sizeof(Person));
5.关闭文件
//关闭文件
ofs.close();
4.二进制文件——读文件
写文件步骤如下:
1.包含头文件
#include<fstream>
2.创建流对象
ifstream ifs;
3.打开文件
/打开文件 判断文件是否打开成功
ifs.open("aaa.txt", ios::in | ios::binary);
if (!ifs.is_open())
{
cout << "打开失败" << endl;
return;
}
4.读文件
Person p;
ifs.read((char*)&p, sizeof(Person));
cout << "姓名:" << p.m_name << " 年龄:" << p.m_age << endl;
5.关闭文件
//关闭文件
ifs.close();
时间:2020.10.23
明天目标:
- 学习c++模板