温馨提示×

C++如何在Linux进行文件操作

小樊
47
2025-11-09 08:42:49
栏目: 编程语言

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

打开文件

#include <iostream>
#include <fstream>

int main() {
    std::ifstream inputFile("example.txt"); // 打开一个名为 example.txt 的文件用于读取

    if (!inputFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }

    // ... 进行文件操作 ...

    inputFile.close(); // 关闭文件
    return 0;
}

写入文件

#include <iostream>
#include <fstream>

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;
}

读取文件

#include <iostream>
#include <fstream>
#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;
}

追加数据到文件

#include <iostream>
#include <fstream>

int main() {
    std::ofstream outputFile("output.txt", std::ios::app); // 打开一个名为 output.txt 的文件用于追加数据

    if (!outputFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }

    outputFile << "这是追加的数据" << std::endl; // 向文件中追加数据

    outputFile.close(); // 关闭文件
    return 0;
}

检查文件是否存在

#include <iostream>
#include <fstream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    if (fs::exists("example.txt")) {
        std::cout << "文件存在" << std::endl;
    } else {
        std::cout << "文件不存在" << std::endl;
    }

    return 0;
}

注意:在使用 <filesystem> 库时,需要确保编译器支持 C++17 标准,并在编译时添加 -std=c++17 参数。例如:

g++ -std=c++17 your_file.cpp -o your_program

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

0