溫馨提示×

C++如何在Linux中進行文件操作

小樊
39
2025-04-14 03:28:01
欄目: 編程語言

在 Linux 中,C++ 可以使用標準庫 <fstream> 提供的文件流對象進行文件操作。以下是一些基本的文件操作示例:

  1. 打開文件:使用 std::ifstream(輸入文件流)或 std::ofstream(輸出文件流)打開文件。
#include <iostream>
#include <fstream>

int main() {
    std::ifstream inputFile("input.txt");
    std::ofstream outputFile("output.txt");

    if (!inputFile.is_open()) {
        std::cerr << "無法打開輸入文件" << std::endl;
        return 1;
    }

    if (!outputFile.is_open()) {
        std::cerr << "無法打開輸出文件" << std::endl;
        return 1;
    }

    // 文件操作...

    inputFile.close();
    outputFile.close();

    return 0;
}
  1. 讀取文件:使用 >> 操作符從文件中讀取數據。
std::string line;
while (std::getline(inputFile, line)) {
    std::cout << line << std::endl;
}
  1. 寫入文件:使用 << 操作符將數據寫入文件。
outputFile << "Hello, World!" << std::endl;
  1. 關閉文件:使用 close() 方法關閉文件。
inputFile.close();
outputFile.close();
  1. 檢查文件狀態:使用 good(), eof(), fail(), 和 bad() 方法檢查文件流的狀態。
if (inputFile.good()) {
    // 文件操作成功
} else if (inputFile.eof()) {
    // 到達文件末尾
} else if (inputFile.fail()) {
    // 文件操作失敗
} else if (inputFile.bad()) {
    // 文件發生嚴重錯誤
}
  1. 隨機訪問文件:使用 std::fstream 類進行隨機訪問文件操作。
std::fstream randomAccessFile("random_access.txt", std::ios::in | std::ios::out);

if (!randomAccessFile.is_open()) {
    std::cerr << "無法打開隨機訪問文件" << std::endl;
    return 1;
}

// 定位到文件的第 10 個字節
randomAccessFile.seekg(10, std::ios::beg);
randomAccessFile.seekp(10, std::ios::beg);

// 寫入數據
randomAccessFile << "Hello, World!";

// 讀取數據
std::string line;
randomAccessFile.seekg(0, std::ios::beg);
std::getline(randomAccessFile, line);

std::cout << line << std::endl;

randomAccessFile.close();

這些示例展示了如何在 Linux 中使用 C++ 進行基本的文件操作。你可以根據需要修改和擴展這些示例以滿足你的需求。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女