发布于2026-07-13 阅读(0)
扫一扫,手机访问
在 CentOS 系统里搞 C++ 文件操作,最直接的路子就是用 C++ 标准库的 头文件。这套东西提供了几个常用的类和方法,上手不难,但有些细节值得留个心。先别急着记 API,我们从头捋一遍。

第一步,先包含头文件:#include 。然后创建文件流对象——读文件用 std::ifstream(输入流),写文件用 std::ofstream(输出流),既能读又能写就用 std::fstream。这样一套下来,代码结构很清晰:
std::ifstream inputFile; // 用于读取文件
std::ofstream outputFile; // 用于写入文件
std::fstream file; // 用于读写文件
打开文件的时候,可以指定模式。默认情况下 ifstream 是只读模式,ofstream 是写入模式(会覆盖原文件)。如果想明确一点,或者想读写同个文件,可以像下面这样:
inputFile.open("input.txt"); // 只读
outputFile.open("output.txt", std::ios::out); // 写入
file.open("data.txt", std::ios::in | std::ios::out); // 读写
打开之后别忘了判断是否成功——if (inputFile.is_open()) { ... } 这步很关键,不然后续操作可能直接崩溃。
操作完了记得关闭文件:inputFile.close();。虽然 C++ 的 RAII 机制会在对象销毁时自动关闭,但显式关闭更稳妥,特别是在长时间运行的程序里。
读文件最常用的做法是用 std::getline 按行读取:
std::string line;
while (std::getline(inputFile, line)) {
std::cout << line << std::endl;
}
写文件就更直接了,用 << 运算符把内容流进去:outputFile << "Hello, World!" << std::endl;。
如果需要对文件进行随机访问,文件指针就派上用场了。读取指针用 seekg,写入指针用 seekp。下面的示例展示了几种常见的定位方式:
inputFile.seekg(0, std::ios::beg); // 移到文件开头
inputFile.seekg(10, std::ios::cur); // 当前位置向后移10字节
inputFile.seekg(-10, std::ios::end); // 从末尾向前移10字节
outputFile.seekp(0, std::ios::beg);
outputFile.seekp(10, std::ios::cur);
outputFile.seekp(-10, std::ios::end);
获取文件大小也不复杂,先把读取指针移到末尾,调用 tellg() 就能拿到字节数,然后再移回开头:
std::streampos fileSize = inputFile.tellg();
inputFile.seekg(0, std::ios::end);
fileSize = inputFile.tellg();
inputFile.seekg(0, std::ios::beg);
至于删除和重命名文件,标准库 里提供了两个函数:remove("filename.txt") 和 rename("old_name.txt", "new_name.txt")。注意它们操作的是文件名,不是流对象。
以上这些就是 CentOS 下 C++ 文件操作的基本套路。实际项目中可能需要根据读写模式、性能需求或异常处理做微调,但核心逻辑跑不出这十几招。代码示例是示意用的,别直接复制到生产环境——记得加错误检查和资源管理。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8