c++实现文件读写类
时间: 2024-09-20 21:01:03 浏览: 39
在C++中,我们可以创建一个名为`FileIO`的文件操作类,用于封装常见的文件读写功能。这个类通常会包含私有成员变量来存储文件指针,以及公有的构造函数、析构函数、打开、关闭、读取和写入等方法。以下是简单的一个例子:
```cpp
#include <fstream>
#include <iostream>
class FileIO {
private:
std::ifstream inputFile; // 用于读取
std::ofstream outputFile; // 用于写入
public:
// 构造函数
FileIO(const std::string& fileName, const char* mode = "r") {
if (mode == "r") {
inputFile.open(fileName);
if (!inputFile.is_open()) {
throw std::runtime_error("Failed to open file for reading");
}
} else if (mode == "w") {
outputFile.open(fileName);
if (!outputFile.is_open()) {
throw std::runtime_error("Failed to open file for writing");
}
} else {
throw std::invalid_argument("Invalid mode. Use 'r' for read or 'w' for write.");
}
}
// 分解构造函数
~FileIO() {
close();
}
void close() {
inputFile.close(); // 关闭输入流
outputFile.close(); // 关闭输出流
}
// 读取数据
template<typename T>
T readValue() {
T value;
inputFile >> value;
return value;
}
// 写入数据
void writeValue(const T& value) {
outputFile << value;
}
// 示例:读取和写入字符串
void readFileString(const std::string& content) {
inputFile << content;
}
void writeFileString(const std::string& content) {
outputFile << content;
}
};
阅读全文