2023年9月28日 星期四

【Qt】透過 Qt 和 C++ 將資料從數據檔案中取出

進行實驗或是產品除錯,常常會將一些數據存成檔案,將數據從檔案中取出有許多方法,這篇記錄一下透過 Qt 將數據從檔案內取出的方法。

 

檔案格式

假設有一筆簡易的實驗數據,存成 .txt 檔案,並且存成底下的格式:

10, 100, 255
123, 45, 333
255, 255, 255
0, 0, 0
255, 255, 255
0, 0, 0
255, 255, 255
0, 0, 0

 

範例程式

透過 C++ 輔以 Qt 的介面範例程式如下:

  
#include <QFileDialog>
void parseData()
{
    QString fileName = QFileDialog::getOpenFileName(this->pUI.get(), tr("Open Pattern File"), "pattern", tr("Text Files (*.txt)"));
    QFile file(fileName);
    if (file.open(QIODevice::ReadOnly))
    {
        QTextStream  data(&file);
        while (!data.atEnd())
        {
            QString line = data.readLine();
            // Seperate string to several parts by synbol ',', ';', and ' '
            QStringList row = line.split(QRegularExpression("[,; ]"));
            row.removeAll("");
        }
    }
}

程式碼內的 row 即為單行所解析出來的數據,並且資料格式為 QString,透過轉換函示即可簡易轉成整數或是浮點數。

沒有留言:

張貼留言

熱門文章