在 Linux 中,C++ 可以使用標準庫中的 <fstream>
文件流庫來操作文件。以下是一些基本的文件操作示例:
#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;
}
#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;
}
#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;
}
#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;
}
#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++ 操作文件。你可以根據需要修改這些示例以滿足你的需求。