在Linux下使用C++進行文件操作,主要依賴于C++標準庫中的<fstream>
頭文件。這個頭文件提供了用于文件輸入輸出的類和函數。以下是一些基本的文件操作示例:
使用std::ifstream
(輸入文件流)或std::ofstream
(輸出文件流)來打開文件。
#include <fstream>
#include <iostream>
int main() {
std::ifstream inputFile("example.txt"); // 打開一個名為example.txt的文件用于讀取
if (!inputFile.is_open()) {
std::cerr << "無法打開文件" << std::endl;
return 1;
}
std::ofstream outputFile("output.txt"); // 打開一個名為output.txt的文件用于寫入
if (!outputFile.is_open()) {
std::cerr << "無法打開文件" << std::endl;
return 1;
}
// 文件操作...
inputFile.close(); // 關閉輸入文件
outputFile.close(); // 關閉輸出文件
return 0;
}
使用>>
運算符或std::getline()
函數從文件中讀取數據。
std::string line;
while (std::getline(inputFile, line)) {
std::cout << line << std::endl;
}
使用<<
運算符將數據寫入文件。
outputFile << "Hello, World!" << std::endl;
使用std::ios::app
標志以追加模式打開文件。
std::ofstream appendFile("output.txt", std::ios::app);
if (appendFile.is_open()) {
appendFile << "追加的內容" << std::endl;
appendFile.close();
}
可以使用std::ifstream
和std::ofstream
對象的成員函數來檢查文件的狀態,例如是否到達文件末尾(EOF)。
if (inputFile.eof()) {
std::cout << "已到達文件末尾" << std::endl;
}
雖然這不是C++標準庫的一部分,但你可以使用系統調用std::remove()
來刪除文件。
#include <cstdlib>
int result = std::remove("example.txt");
if (result != 0) {
std::cerr << "無法刪除文件" << std::endl;
}
同樣,使用系統調用std::rename()
來重命名文件。
int result = std::rename("oldname.txt", "newname.txt");
if (result != 0) {
std::cerr << "無法重命名文件" << std::endl;
}
請注意,這些示例假設你已經有了基本的C++知識,并且熟悉如何編譯和運行C++程序。在實際應用中,你可能需要處理更多的錯誤情況和邊界條件。