2015-10-27 76 views
0

我想在QT中编辑.txt文件。我在写入新数据时将数据写入test.txt文件,它会删除以前的数据。我正在寻找如下:在QT中编辑文件

检查文件是否存在。
如果是通过将新数据插入带有时间戳的文件来更新文件
如果没有创建新文件并插入数据。

void writefile(QString Filename) 
{ 
    QFile mFile(Filename); 

    if(!mFile.open(QFile::WriteOnly | QFile::Text)) 
    { 
     qDebug() << "Not open file"; 
     return; 
    } 

    // we can use stream instead of OUT FOR OUTPUT 
    QTextStream out(&mFile); 
    out << PCAN_DEVICE_NUMBER << ", " << PCAN_HARDWARE_NAME ; 

    // mFile.flush(); 
    mFile.close(); 
+0

和编程问题是...? –

回答

0

用于打开你的文件追加标志

!mFile.open(QFile::WriteOnly | QFile::Text | QIODevice::Append) 
2

你必须改变的文件打开命令属性(一个QFile ::追加|一个QFile ::文本), 因为一个QFile :: WriteOnly意味着QFile :: Truncate。

mFile.open(QFile::Append | QFile::Text) 

你可以看看到了QIODevice中的文档: http://doc.qt.io/qt-5/qiodevice.html#OpenModeFlag-enum