c++封装一个文件操作类文件操作使用c库
以下是一个封装了文件操作的C++类的示例代码:
#include <iostream>
#include <cstdio>
class File {
FILE* file;
public:
File(const char* filename, const char* mode) {
file = fopen(filename, mode);
if (file == nullptr) {
std::cerr << "Failed to open file: " << filename << std::endl;
}
}
~File() {
if (file != nullptr) {
fclose(file);
}
}
bool isOpen() const {
return file != nullptr;
}
void write(const char* data) {
if (file != nullptr) {
fputs(data, file);
}
}
void read() {
if (file != nullptr) {
char buffer[256];
while (fgets(buffer, sizeof(buffer), file)) {
std::cout << buffer;
}
}
}
};
int main() {
File file("test.txt", "w");
if (file.isOpen()) {
file.write("Hello, World!");
}
File file2("test.txt", "r");
if (file2.isOpen()) {
file2.read();
}
return 0;
}
这个示例代码定义了一个名为File的类,它封装了C库中的文件操作函数。它具有以下功能:
- 构造函数:打开指定的文件,并检查是否成功打开。
- 析构函数:关闭文件。
- isOpen()函数:检查文件是否成功打开。
- write()函数:向文件中写入字符串。
- read()函数:从文件中读取内容并打印到控制台。
在main函数中,我们创建了一个File对象来写入字符串到文件中,并创建另一个File对象来读取文件内容并打印到控制台
原文地址: https://www.cveoy.top/t/topic/iMxV 著作权归作者所有。请勿转载和采集!