//打开选择文件对话框,获取文件路径 QString File_Path = QFileDialog::getOpenFileName(this, "open","../","source(*.cpp *.h *.DAT *.mat);;Text(*.txt);;all(*.*)"); QByteArray ba = File_Path.toLatin1(); const char *rootFile = ba.data(); MATFile *pmatFile = matOpen(rootFile, "r"); if (pmatFile == NULL) { QMessageBox::warning(NULL,tr("文件打开失败"),tr("mat文件打开失败"),QMessageBox::Yes); return; } // 获取文件中变量var; mxArray* Array1 = matGetVariable(pmatFile, "RBR"); //先与变量绑定 mxArray* pF = mxGetField(Array1,0,"data"); //再获取其中域的数据 matClose(pmatFile); // 获取矩阵数据行数; int row = mxGetM(pF); qDebug() << row<<endl; // 获取矩阵数据列数; int column = mxGetN(pF); qDebug() << column <<endl;运行程序之后显示程序异常结束,是什么原因
时间: 2024-04-23 18:24:06 浏览: 145
lll.rar_.lll是什么文件_QT读取txt文件_Qt 读取txt_lll52。com_qt读取text文件
根据你提供的代码,程序异常结束的原因可能是由于打开的MAT文件不存在或者路径不正确导致的。建议检查一下MAT文件的路径是否正确,并确保文件存在。此外,还需要注意MATLAB版本的兼容性问题。如果MAT文件是用较高版本的MATLAB生成的,而代码使用的MATLAB版本较低,可能会导致程序无法正常读取MAT文件。
阅读全文