温馨提示×

Ubuntu C++如何处理文件I/O操作

小樊
47
2026-01-07 15:02:21
栏目: 编程语言

在Ubuntu中,C++可以通过标准库中的iostream和fstream来进行文件I/O操作。iostream主要用于控制台输入输出,而fstream则用于文件读写。

以下是一些基本的文件I/O操作示例:

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

int main() {
    std::ifstream inputFile("example.txt"); // 打开一个名为example.txt的文件用于读取
    if (!inputFile.is_open()) {
        std::cerr << "Unable to open file example.txt";
        return 1;
    }
    // ... 进行文件读写操作 ...
    inputFile.close(); // 关闭文件
    return 0;
}
  1. 写入文件:
#include <fstream>
#include <iostream>

int main() {
    std::ofstream outputFile("example.txt"); // 打开一个名为example.txt的文件用于写入
    if (!outputFile.is_open()) {
        std::cerr << "Unable to open file example.txt";
        return 1;
    }
    outputFile << "Hello, World!" << 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 << "Unable to open file example.txt";
        return 1;
    }
    std::string line;
    while (std::getline(inputFile, line)) { // 逐行读取文件内容
        std::cout << line << std::endl;
    }
    inputFile.close(); // 关闭文件
    return 0;
}
  1. 追加数据到文件:
#include <fstream>
#include <iostream>

int main() {
    std::ofstream outputFile("example.txt", std::ios::app); // 打开一个名为example.txt的文件用于追加数据
    if (!outputFile.is_open()) {
        std::cerr << "Unable to open file example.txt";
        return 1;
    }
    outputFile << "Appended text" << std::endl; // 追加数据到文件
    outputFile.close(); // 关闭文件
    return 0;
}

注意:在实际编程中,建议使用RAII(Resource Acquisition Is Initialization)原则,即在对象创建时获取资源,在对象销毁时释放资源。这样可以避免因为忘记关闭文件而导致的资源泄露。在上述示例中,可以使用std::ifstreamstd::ofstream的构造函数和析构函数自动管理文件的打开和关闭。

0