matlab生成二进制文件,qt读取 问题记录

遇到一些问题暂作记录

matlab程序:

clear
fid3 = fopen('test.dat','wb');
X = linspace(1.1,5.1,5);
if(fid3>0)
    count=fwrite(fid3,X,'float');
end
fclose(fid3);

qt:

QFile file("E:/MATLABmaker/matlabToDll/music/test.dat");
    if(file.open(QIODevice::ReadOnly))
    {
        QDataStream stream(&file);
        stream.setByteOrder(QDataStream::LittleEndian);
        stream.setFloatingPointPrecision(QDataStream::SinglePrecision);
        double f_temp;
        for(int m = 0;m < 5;m ++)
        {
            stream>>f_temp;
            qDebug()<<f_temp;
        }
    }
    else{
        qDebug()<<"failed";
    }
    file.close();

遇到一些很有意思的问题,matlab的fopen中的参数'b'我最开始以为指的是二进制中的'bit'的缩写,但看了文档应该是big大端模式的缩写,但问题是Qt中用QDataStream读取时要设置为小端模式才能读出来,我就觉得很奇怪,先记录一下,留作以后探讨

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值