概述
在C++中,我们可以使用fstream
库中的ifstream
(读操作)、ofstream
(写操作)和fstream
(读写操作)这三大类来进行文件操作。ifstream
用于从文件中读取数据,ofstream
用于向文件中写入数据,而fstream
既可以用于读取数据,也可以用于写入数据。
我们可以使用这些类中的成员函数来打开和关闭文件、读取和写入数据。例如,我们可以使用open()
函数来打开一个文件,使用close()
函数来关闭一个文件,使用getline()
函数从文件中读取一行数据,使用<<
运算符向文件中写入数据。
首先 文件类型分为两种
- 文本文件-文件以文本的ASCII码形式存储在计算机中。
- 二进制文件-文件以文本的二进制形式存储在计算机中。
文件打开方式
打开方式 | 解释 |
---|---|
ios::in | 为读文件而打开文件 |
ios::out | 为写文件而打开文件 |
ios::ate | 初始位置:文件末 |
ios::app | 追加方式写文件 |
ios::trunc | 如果文件存在先删除,再创建 |
ios::binary | 二进制方式打开文件 |
注意:文件打开方式可以配合使用,利用|
操作符
文本文件
首先,我们需要包含头文件<fstream>
,然后创建一个ifstream
或ofstream
对象。例如,如果我们想要从一个名为"input.txt"
的文件中读取数据,我们可以这样做:
#include <fstream>
#include <iostream>
#include<string>
using namespace std;
int main() {
ifstream inFile;
inFile.open("input.txt",ios::in);
if (!inFile.is_open) {
cout << "打开文件失败";
return;
}
// 从文件中读取数据
string line;
while (getline(inFile, line)) {
cout << line << endl;
}
inFile.close();
return 0;
}
同样地,如果我们想要向一个名为"output.txt"
的文件中写入数据,我们可以这样做:
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ofstream outFile;
outFile.open("output.txt",ios::out);
if (!outFile.is_open) {
cout << "打开文件失败";
return;
}
// 向文件中写入数据
outFile << "This is a line.\n";
outFile << "This is another line.\n";
outFile.close();
return 0;
}
在上面的代码中,使用了open()
函数来打开一个文件,并使用了close()
函数来关闭一个文件。如果打开文件失败,我们可以使用is_open
来检查是否成功打开了文件。
二进制文件
读写二进制文件时只需要以二进制方式打,行通过|
实现
以上面代码为例:
二进制读文件:
inFile.open("input.txt",ios::in|ios::binary);
二进制写文件:
outFile.open("output.txt",ios::out|ios::binary);
希望这篇博客能够帮助你了解C++中的文件读写操作。