2015-10-27 75 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