溫馨提示×

Linux中C++如何操作文件

小樊
37
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女