C++文件读写,输入输出操作
时间: 2023-11-14 16:20:16 浏览: 101
对C++中的文件进行读写操作
C++ 文件读写可以使用标准库中的文件流(fstream)类来实现。fstream 类可以读写文件,可以像读写流一样使用运算符进行输入输出操作。
下面是一个简单的例子,演示了如何打开一个文本文件、写入数据、读取数据和关闭文件:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string filename = "example.txt";
ofstream outfile(filename); // 打开文件
if (outfile.is_open()) {
outfile << "Hello World!" << endl; // 写入数据
outfile.close(); // 关闭文件
} else {
cout << "Unable to open file" << endl;
return 1;
}
ifstream infile(filename); // 打开文件
if (infile.is_open()) {
string line;
while (getline(infile, line)) { // 读取数据
cout << line << endl;
}
infile.close(); // 关闭文件
} else {
cout << "Unable to open file" << endl;
return 1;
}
return 0;
}
```
在这个例子中,我们首先创建了一个 `ofstream` 对象,使用 `filename` 参数打开了一个文件。然后我们使用运算符 `<<` 将字符串“Hello World!”写入文件中,最后关闭了文件。
接着,我们打开了同样的文件,这次使用了 `ifstream` 对象。我们使用 `getline` 函数来读取每一行的数据,并使用 `cout` 输出到控制台上。
最后我们关闭了文件,退出程序。
需要注意的是,如果文件不存在,fstream 类会自动创建一个新的文件。如果文件已经存在,则会清空原有内容,并写入新的数据。如果要追加数据到文件末尾,可以使用 `ofstream::app` 或 `fstream::app` 模式打开文件,例如:
```c++
ofstream outfile(filename, ios::app);
```
同时还有其他的文件打开模式,可以通过设置第二个参数来实现。常见的模式包括:
- `ios::in` :以只读模式打开文件。
- `ios::out` :以写入模式打开文件。
- `ios::binary` :以二进制模式打开文件。
- `ios::ate` :打开文件并将文件指针移动到文件末尾。
- `ios::trunc` :如果文件已经存在,则清空文件内容。
以上是 C++ 文件读写的基本操作,您可以根据实际需求进行更加复杂的文件操作。
阅读全文