• 5079阅读
  • 5回复

QT4中如何读取二进文件读取 [复制链接]

上一主题 下一主题
离线cdutherbert
 
只看楼主 倒序阅读 楼主  发表于: 2009-03-26
QT4中如何读取二进文件的数据到float数组中?
现在有一个.dat的文件。里面全部是float型数据。如何把它读出来然后存到一个float数组中?谢谢高手指点
离线sanghk

只看该作者 1楼 发表于: 2009-03-26
QFile ff("float.dat");
ff.open("QIODevics::ReadOnly");
QDataStream  in(ff);
float    arrays[  MAX  ]
qint32 acount ;
in >>acount ;
int idx =0;
while(  !in.atEnd() )  
{
  in >> arrays[idx];
idx ++
}
ff.close();
代码基本就是这个样子吧,没有在编译器中调试。
离线cdutherbert
只看该作者 2楼 发表于: 2009-03-27
谢了。不过好像读出来的数据是错误的。和用C语言读出来的不一样啊。
离线sbtree
只看该作者 3楼 发表于: 2009-03-27
引用第2楼cdutherbert于2009-03-27 17:35发表的  :
谢了。不过好像读出来的数据是错误的。和用C语言读出来的不一样啊。

估计是字节序的问题
windows 7 + VC++2008 + Qt4.5.2
离线shanyun

只看该作者 4楼 发表于: 2009-03-28
嗯  在与fortran用文件传值的时候也遇到字节顺序问题,加上一条

in.setByteOrder(QDataStream::LittleEndian);

就好了    默认是QDataStream::BigEndian  即高字节在后的顺序
离线cdutherbert
只看该作者 5楼 发表于: 2009-03-28
多谢高手指点。问题好像解决了。
快速回复
限100 字节
 
上一个 下一个