商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > CentOS C++文件操作有哪些方法

CentOS C++文件操作有哪些方法

  发布于2026-07-13 阅读(0)

扫一扫,手机访问

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

CentOS C++文件操作有哪些方法

第一步,先包含头文件:#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++ 文件操作的基本套路。实际项目中可能需要根据读写模式、性能需求或异常处理做微调,但核心逻辑跑不出这十几招。代码示例是示意用的,别直接复制到生产环境——记得加错误检查和资源管理。

本文转载于:https://www.yisu.com/ask/97730184.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注