QFile如何强制保存文件

DavidWong8383 发布于 2012/08/03 09:15
阅读 1K+
收藏 0
Qt
   bool f2 ;
    QString str= ui->textEdit_rec->toPlainText();
    QFile myFile("C:/Qt/2010.04/qt/Testnet/note/batterynote.txt");
    f2=myFile.open(QIODevice::WriteOnly);
    QTextStream myStream(&myFile);
    myStream<<str;
    myFile.close();
    qDebug()<<f2;
我写的过程如上,现在实现的保存必须是当前有这个目录的情况下才能保存,如果强制保存呢?就是没有这个目录也能新建一条这样的目录保存,我看的帮助文档是用

bool QFile::open ( FILE * fh, OpenMode mode )

但是我不知道这个FILE * fh,怎么用?这个FILE又是什么,怎么用呢,求指导,谢谢
加载中
0
DavidWong8383
DavidWong8383
自己顶一下,不要沉了啊,新手求帮助,先谢谢了
0
Yisen
Yisen
没有这个目录,就先创建这个目录
0
吥楛糖
吥楛糖

要实现你说的功能,可以用QDir::exists()来判断路径是否存在,如果存在,就按照你上面写的直接保存,如果不存在,就使用QDir::mkdir()先创建目录再进行保存

QDir my_dir;
QString mkdir = "C:/Qt/2010.04/qt/Testnet/note/batterynote.txt"; 

if(!my_dir.exists(mkdir)) //如果指定的路径不存在时
{
   //给my_dir创建一个路径
   my_dir.mkpath(mkdir);
   qDebug() << "Created successed!";
   //然后保存文件......
}
else //指定的路径存在时
{
    qDebug() << "Alreadly exists!";
    //保存文件......
}

吥楛糖
吥楛糖
其实实现的方式有很多,满足需求就行了
DavidWong8383
DavidWong8383
嗯,我用的是DIR::mkpath,先设置了一个目录,然后再把文件放进去的,不过,看到你的代码启发很大,谢谢了
返回顶部
顶部