c++中QFile::exists()怎么用
时间: 2024-05-29 10:08:19 浏览: 167
QFile::exists() 是用来检查文件是否存在的函数,使用方法如下:
QFile file("path/to/file");
if (file.exists()) {
// 文件存在
} else {
// 文件不存在
}
注:path/to/file 是待检查的文件路径。
相关问题
C++利用QFile做一个日志系统,可以定期三天删除三天前的日志,实例
可以使用QFile和QTextStream来实现一个简单的日志系统,代码如下:
```cpp
#include <QFile>
#include <QTextStream>
#include <QDateTime>
void writeLog(const QString& message)
{
QString fileName = "log.txt";
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text))
return;
QTextStream out(&file);
out << QDateTime::currentDateTime().toString(Qt::ISODate) << " " << message << "\n";
file.close();
// 删除三天前的日志
QDateTime threeDaysAgo = QDateTime::currentDateTime().addDays(-3);
if (file.exists() && file.lastModified() < threeDaysAgo)
file.remove();
}
```
在这个例子中,我们使用QFile和QTextStream来打开一个名为“log.txt”的文件,并将日志消息写入文件中。我们还使用QDateTime来获取当前日期和时间,并将其添加到日志消息中。
最后,我们检查文件是否存在,并检查其最后修改时间是否早于三天前。如果是,我们就删除文件。这样就可以实现一个简单的日志系统,可以定期删除三天前的日志。
QT,C++中利用Qfile的write函数写数据库的.db文件
可以利用以下步骤实现在QT和C中利用QFile的write函数写数据库的.db文件:
1. 打开数据库连接,使用QSqlDatabase::addDatabase()函数添加数据库驱动。
2. 调用QSqlDatabase的open()方法,打开数据库连接。
3. 创建QSqlQuery对象,利用exec()方法执行CREATE TABLE语句进行数据库表的创建。
4. 创建QFile对象,用于写入数据库文件。
5. 利用QFile的open()方法打开数据库文件,并将数据写入文件。
6. 关闭文件和数据库连接。
示例代码如下:
```
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QFile>
int main()
{
//添加数据库驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
//设置数据库文件名
db.setDatabaseName("data.db");
//打开数据库
if(db.open())
{
//执行CREATE TABLE语句
QSqlQuery query;
query.exec("CREATE TABLE IF NOT EXISTS student (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)");
//打开文件并写入数据库数据
QFile file("data.db");
if(file.open(QIODevice::WriteOnly))
{
file.write("Hello World");
}
//关闭文件
file.close();
}
//关闭数据库连接
db.close();
return 0;
}
```
注意,以上示例代码仅供参考,实际应用中需要根据具体情况进行修改。
阅读全文