以下是一个封装了文件操作的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对象来读取文件内容并打印到控制台

c++封装一个文件操作类文件操作使用c库

原文地址: https://www.cveoy.top/t/topic/iMxV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录