在 Ubuntu 上使用 C++ 进行文件操作,通常会用到 C++ 标准库中的 <fstream>
头文件。这个头文件提供了用于文件输入和输出的类和函数。以下是一些基本的文件操作示例:
包含头文件:
#include <iostream>
#include <fstream>
#include <string>
写入文件:
使用 std::ofstream
类来创建和写入文件。
void writeFile(const std::string& filename) {
std::ofstream outFile(filename);
if (!outFile) {
std::cerr << "Error opening file for writing!" << std::endl;
return;
}
outFile << "Hello, World!" << std::endl;
outFile << "This is a test." << std::endl;
outFile.close();
}
读取文件:
使用 std::ifstream
类来读取文件。
void readFile(const std::string& filename) {
std::ifstream inFile(filename);
if (!inFile) {
std::cerr << "Error opening file for reading!" << std::endl;
return;
}
std::string line;
while (std::getline(inFile, line)) {
std::cout << line << std::endl;
}
inFile.close();
}
追加内容到文件:
使用 std::ofstream
类的 app
模式来追加内容。
void appendToFile(const std::string& filename, const std::string& content) {
std::ofstream outFile(filename, std::ios::app);
if (!outFile) {
std::cerr << "Error opening file for appending!" << std::endl;
return;
}
outFile << content << std::endl;
outFile.close();
}
检查文件是否存在:
使用 std::ifstream
类来检查文件是否存在。
bool fileExists(const std::string& filename) {
std::ifstream inFile(filename);
return inFile.good();
}
删除文件:
使用 C++17 引入的 <filesystem>
头文件中的 std::filesystem::remove
函数来删除文件。
#include <filesystem>
void deleteFile(const std::string& filename) {
if (std::filesystem::exists(filename)) {
std::filesystem::remove(filename);
} else {
std::cerr << "File does not exist!" << std::endl;
}
}
重命名文件:
使用 std::filesystem::rename
函数来重命名文件。
void renameFile(const std::string& oldFilename, const std::string& newFilename) {
if (std::filesystem::exists(oldFilename)) {
std::filesystem::rename(oldFilename, newFilename);
} else {
std::cerr << "File does not exist!" << std::endl;
}
}
这些示例展示了如何在 Ubuntu 上使用 C++ 进行基本的文件操作。你可以根据需要扩展这些功能,例如处理二进制文件、读取和写入特定格式的数据等。