温馨提示×

Linux中C++如何操作文件

小樊
47
2025-08-14 02:55:30
栏目: 编程语言

在 Linux 中,C++ 可以使用标准库中的 <fstream> 文件流库来操作文件。以下是一些基本的文件操作示例:

  1. 打开文件:
#include <fstream>
#include <iostream>

int main() {
    std::ifstream inputFile("example.txt"); // 打开一个名为 example.txt 的输入文件
    if (!inputFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    // ... 对文件进行操作 ...
    inputFile.close(); // 关闭文件
    return 0;
}
  1. 写入文件:
#include <fstream>
#include <iostream>

int main() {
    std::ofstream outputFile("output.txt"); // 创建一个名为 output.txt 的输出文件
    if (!outputFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    outputFile << "Hello, World!" << std::endl; // 向文件写入内容
    outputFile.close(); // 关闭文件
    return 0;
}
  1. 追加内容到文件:
#include <fstream>
#include <iostream>

int main() {
    std::ofstream outputFile("output.txt", std::ios::app); // 以追加模式打开一个名为 output.txt 的文件
    if (!outputFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    outputFile << "This is a new line." << std::endl; // 向文件追加内容
    outputFile.close(); // 关闭文件
    return 0;
}
  1. 读取文件:
#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::ifstream inputFile("example.txt"); // 打开一个名为 example.txt 的输入文件
    if (!inputFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    std::string line;
    while (std::getline(inputFile, line)) { // 逐行读取文件内容
        std::cout << line << std::endl;
    }
    inputFile.close(); // 关闭文件
    return 0;
}
  1. 修改文件:
#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::ifstream inputFile("example.txt"); // 打开一个名为 example.txt 的输入文件
    std::ofstream tempFile("temp.txt"); // 创建一个临时文件
    if (!inputFile.is_open() || !tempFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    std::string line;
    while (std::getline(inputFile, line)) { // 逐行读取文件内容
        if (line.find("old") != std::string::npos) { // 如果找到需要替换的内容
            line.replace(line.find("old"), 3, "new"); // 替换内容
        }
        tempFile << line << std::endl; // 将修改后的内容写入临时文件
    }
    inputFile.close(); // 关闭输入文件
    tempFile.close(); // 关闭临时文件

    // 删除原始文件并将临时文件重命名为原始文件名
    remove("example.txt");
    rename("temp.txt", "example.txt");

    return 0;
}

这些示例展示了如何在 Linux 中使用 C++ 操作文件。你可以根据需要修改这些示例以满足你的需求。

0