c++文件输入输出刘
时间: 2025-01-01 11:31:20 浏览: 6
### C++ 文件输入输出操作
#### 使用流式文件操作
在C++中,文件输入/输出(I/O)可以通过`fstream`库中的类来实现。这些类提供了方便的方法来进行文件的读写操作[^1]。
对于文件输出:
```cpp
#include <iostream>
#include <fstream>
int main() {
std::ofstream fout("example.txt"); // 创建文件输出流对象并打开文件
if (fout.is_open()) { // 检查文件是否成功打开
fout << "这是一个测试。\n"; // 向文件中写入字符串
fout.close(); // 关闭文件
} else {
std::cerr << "无法打开文件\n";
}
return 0;
}
```
上述代码展示了如何创建一个名为`example.txt`的新文件,并向其中写入一段文字。如果该文件已经存在,则会覆盖其原有内容;若不存在则会被新建出来[^4]。
对于文件输入:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream fin("example.txt"); // 创建文件输入流对象并打开文件
std::string line;
while (std::getline(fin, line)) { // 循环逐行读取直到结束
std::cout << line << '\n'; // 将每行打印至控制台
}
fin.close(); // 关闭文件
return 0;
}
```
此段程序用于从之前创建过的`example.txt`文件里读取出所有的文本行,并将其显示给用户查看。这里使用了`std::getline()`函数按照行的形式获取数据。
#### 流式 vs 非流式 I/O 方式的选择
信息学竞赛通常更倾向于采用基于流式的文件处理方法,因为这种方式更加直观易懂且易于管理错误情况。然而,在某些情况下,比如追求极致性能的应用场景下,可能会考虑混合使用C风格的标准库函数如`fopen`, `fprintf`等,尽管它们可能具有更高的执行速度,但在现代C++开发实践中并不推荐这样做除非确实有必要[^2][^3]。
阅读全文