Qt读取txt文件中int,string等数据

Qt读取txt文本数据

网上更多的是一行一行读取

QTextStream txtInput(&f);
    QString lineStr;
    while (!txtInput.atEnd())
    {
        lineStr = txtInput.readLine();  //读取数据
        QMessageBox::about(NULL, "字段数据", lineStr);
    }
 
    f.close()

我这里给出直接读取不同数据类型的方法

void MainWindow:: ReadDate(){
    QFile file("../image/RomaliaHSLD.txt");
    bool isOk = file.open(QIODevice::ReadOnly);
    if(isOk==true){
        //QDataStream stream(&file);//读取二进制文件
        QTextStream stream(&file);
        QString str;
        int a;
       for(int i=0;i<20;i++){
            stream >> str >>a;
            qDebug()<<str<<"  "<<a;
        }
        file.close();
    }
    else{
        qDebug()<<"打开失败";
    }
}
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在QT读取MATLABmat文件的Cell数据,可以使用MATLAB引擎API。下面是一个简单的代码示例: ```c++ #include <QCoreApplication> #include <QDebug> #include <engine.h> #include <string> #include <vector> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // start MATLAB engine Engine *ep; if (!(ep = engOpen(NULL))) { qDebug() << "Can't start MATLAB engine"; return 1; } // load mat file std::string fileName = "example.mat"; std::string cmd = "load('" + fileName + "')"; if (engEvalString(ep, cmd.c_str())) { qDebug() << "Can't load mat file"; return 1; } // get cell data mxArray *cellArray; cellArray = engGetVariable(ep, "cell_data"); if (cellArray == NULL) { qDebug() << "Can't get cell data"; return 1; } int numElements = mxGetNumberOfElements(cellArray); std::vector<std::string> cellData(numElements); for (int i = 0; i < numElements; i++) { mxArray *cellElement = mxGetCell(cellArray, i); char *cellString = mxArrayToString(cellElement); cellData[i] = cellString; mxFree(cellString); } // cleanup mxDestroyArray(cellArray); engClose(ep); // print cell data for (int i = 0; i < numElements; i++) { qDebug() << QString::fromStdString(cellData[i]); } return a.exec(); } ``` 在上面的示例,我们首先启动MATLAB引擎,然后加载包含所需变量的MAT文件。接下来,我们使用`engGetVariable`函数获取名为`cell_data`的变量的指针,该变量是一个MATLAB单元数组。然后,我们使用`mxGetNumberOfElements`和`mxGetCell`函数遍历单元数组并提取每个单元元素的字符串值。最后,我们使用`mxDestroyArray`和`engClose`函数清理并关闭MATLAB引擎。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值