C++檔案操作實戰:建立、寫入、讀取、修改檔案一應俱全

架构师老卢發表於2024-03-17
C++檔案操作實戰:建立、寫入、讀取、修改檔案一應俱全

概述:此C++示例詳解檔案操作:建立、刪除、判斷存在、寫入、讀取和修改檔案內容。清晰演示了常見檔案處理方法及原始碼實現。

以下是一個簡單的C++例項,演示如何進行檔案操作,包括建立檔案、刪除檔案、判斷檔案是否存在、向檔案寫入內容、讀取檔案內容以及修改檔案內容。

#include <iostream>
#include <fstream>
#include <sstream>
#include <cstdio>

// 建立檔案
void createFile(const std::string& filename) {
    std::ofstream file(filename);
    if (file.is_open()) {
        std::cout << "檔案建立成功: " << filename << std::endl;
        file.close();
    } else {
        std::cerr << "無法建立檔案: " << filename << std::endl;
    }
}

// 刪除檔案
void deleteFile(const std::string& filename) {
    if (std::remove(filename.c_str()) == 0) {
        std::cout << "檔案刪除成功: " << filename << std::endl;
    } else {
        std::cerr << "無法刪除檔案: " << filename << std::endl;
    }
}

// 判斷檔案是否存在
bool fileExists(const std::string& filename) {
    std::ifstream file(filename);
    return file.good();
}

// 向檔案寫入內容
void writeFile(const std::string& filename, const std::string& content) {
    std::ofstream file(filename);
    if (file.is_open()) {
        file << content;
        std::cout << "內容成功寫入檔案: " << filename << std::endl;
        file.close();
    } else {
        std::cerr << "無法開啟檔案進行寫入: " << filename << std::endl;
    }
}

// 讀取檔案內容
std::string readFile(const std::string& filename) {
    std::ifstream file(filename);
    std::stringstream buffer;
    if (file.is_open()) {
        buffer << file.rdbuf();
        file.close();
    } else {
        std::cerr << "無法開啟檔案進行讀取: " << filename << std::endl;
    }
    return buffer.str();
}

// 修改檔案內容
void modifyFile(const std::string& filename, const std::string& newContent) {
    std::string content = readFile(filename);
    writeFile(filename, content + "\n" + newContent);
}

int main() {
    const std::string filename = "example.txt";
    
    // 建立檔案
    createFile(filename);

    // 寫入內容
    writeFile(filename, "Hello, File!");

    // 讀取並輸出內容
    std::cout << "檔案內容: " << readFile(filename) << std::endl;

    // 修改檔案內容
    modifyFile(filename, "Appended Text");

    // 讀取並輸出修改後的內容
    std::cout << "修改後的檔案內容: " << readFile(filename) << std::endl;

    // 刪除檔案
    deleteFile(filename);

    return 0;
}

在這個例子中,我們使用了 <iostream><fstream> 標頭檔案來進行檔案操作。透過各個函式,實現了建立檔案、刪除檔案、判斷檔案是否存在、向檔案寫入內容、讀取檔案內容以及修改檔案內容的功能。在 main 函式中,我們演示瞭如何使用這些函式來操作檔案。

相關文章