c++ fstream可读还是可写
时间: 2024-03-15 14:46:24 浏览: 98
在 C++ 中,`fstream` 是一个通用的输入输出文件流类,可以用来读写文件。它继承自 `istream` 和 `ostream`,因此可以使用这两个类中的函数来实现读写操作。
在打开文件时,可以通过设置不同的打开模式来指定文件流的读写属性。常用的文件打开模式有以下几种:
- `ios::in`:以读取方式打开文件,表示文件可读。
- `ios::out`:以写入方式打开文件,表示文件可写。
- `ios::app`:以写入方式打开文件,指定新的写入内容添加到文件末尾。
- `ios::ate`:打开文件后立即将文件指针定位到文件末尾。
- `ios::binary`:以二进制方式打开文件,可用于读写二进制文件。
可以通过使用位运算符 `|` 将多个打开模式组合起来使用。例如,以下代码将以可读写方式打开文件:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
fstream file("example.txt", ios::in | ios::out);
if (!file.is_open()) {
cout << "failed to open file." << endl;
return 1;
}
// 读取文件内容
char c;
file >> c;
cout << "read char: " << c << endl;
// 写入文件内容
file << "new content";
file.close();
return 0;
}
```
在上述代码中,我们通过使用 `ios::in` 和 `ios::out` 打开模式来指定文件流为可读写模式。同时,我们也可以使用 `ifstream` 和 `ofstream` 类来分别指定文件流的读写模式,这两个类分别继承自 `istream` 和 `ostream`。
阅读全文