根据你提供的错误信息,看起来你正在使用Qt库中的QFile类。在Qt中,没有名为is_open
的成员函数。相反,可以使用isOpen()
函数来检查文件是否打开。
请参考以下修正后的示例代码:
#include <iostream>
#include <fstream>
#include <QFile>
class Logger {
private:
QFile m_logFile;
public:
Logger(const QString& filename) : m_logFile(filename) {}
~Logger() {
if (m_logFile.isOpen()) {
m_logFile.close();
}
}
void log(const QString& message) {
if (m_logFile.open(QIODevice::WriteOnly | QIODevice::Append)) {
QTextStream stream(&m_logFile);
stream << message << endl;
}
}
};
int main() {
Logger logger("log.txt");
logger.log("This is a log message.");
return 0;
}
在这个修正后的示例中,我们使用了QFile和QTextStream来处理日志文件。在析构函数中,我们使用了isOpen()
函数检查文件是否打开,并在需要时关闭文件。
希望这次能够帮助到你!如果还有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问