Linux中C++如何进行文件操作
在 Linux 环境下做 C++ 开发,文件操作几乎是绕不开的基础技能。标准库中的 提供了三个核心类:ifstream(读文件)、ofstream(写文件)和 fstream(读写皆可)。下面通过几个典型示例,快速过一遍基本用法。 先来看打开文件的操作。代码中这样写: #include #inclu
在 Linux 环境下做 C++ 开发,文件操作几乎是绕不开的基础技能。标准库中的 提供了三个核心类:ifstream(读文件)、ofstream(写文件)和 fstream(读写皆可)。下面通过几个典型示例,快速过一遍基本用法。

先来看打开文件的操作。代码中这样写:
#include
#include
int main() {
std::ifstream inputFile("input.txt"); // 打开名为 input.txt 的文件进行读取
std::ofstream outputFile("output.txt"); // 打开名为 output.txt 的文件进行写入
std::fstream file("file.txt", std::ios::in | std::ios::out); // 打开名为 file.txt 的文件进行读写
if (!inputFile.is_open()) {
std::cerr << "无法打开输入文件" << std::endl;
return 1;
}
if (!outputFile.is_open()) {
std::cerr << "无法打开输出文件" << std::endl;
return 1;
}
if (!file.is_open()) {
std::cerr << "无法打开文件进行读写" << std::endl;
return 1;
}
// ... 进行文件操作 ...
inputFile.close(); // 关闭输入文件
outputFile.close(); // 关闭输出文件
file.close(); // 关闭文件
return 0;
}
接下来是读取文件内容,通常用 std::getline 逐行读取:
std::string line;
while (std::getline(inputFile, line)) {
std::cout << line << std::endl;
}
写入文件则更直接,用流操作符即可:
outputFile << "Hello, World!" << std::endl;
如果需要在文件末尾追加内容,写入方式完全一样(前提是打开时指定了追加模式,但这里示例中用的是 ofstream,默认会覆盖,不过追加操作本身只要用 << 即可,重点在于打开模式):
outputFile << "Appended text" << std::endl;
判断是否读到文件末尾,可以调用 eof() 方法:
if (inputFile.eof()) {
std::cout << "已到达文件末尾" << std::endl;
}
最后,别忘了关闭文件,释放资源:
inputFile.close();
outputFile.close();
file.close();
这些示例覆盖了 Linux 下 C++ 文件操作最常用的几个场景,实际开发中根据需求组合使用即可。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















