当前位置: 代码迷 >> QT开发 >> qt读取二进制文件,怎么将数据装入到一个float型缓冲区中?
  详细解决方案

qt读取二进制文件,怎么将数据装入到一个float型缓冲区中?

热度:37   发布时间:2016-04-25 04:36:47.0
qt读取二进制文件,如何将数据装入到一个float型缓冲区中??
有个文件是二进制形式,float格式的,我读取这个文件到QDataStream中后,想要接着按照float格式来读取数据,我事先申请了一个float型该文件大小的一段空间,我想要把数据装入进去,因为后面要根据这些数据进行像素点的设置生成相应的灰度图。。
但是卡在这里了,部分代码如下:
float *p = new float(695 * 374 * 4);
  QFile file("a.coh");
  if(!file.open(QIODevice::ReadOnly))
  {
  return;
  }
  QDataStream out(&file);
  out >> p;
  int i = 0;
  while(!out.atEnd())
  {
  //这里肯定有错误,但是不知道怎么写
  *p = out.readBytes()  
  i += 4;
  }
新手求教了。。高手随便指点下就对我是极大的帮助

------解决方案--------------------
http://qimo601.iteye.com/admin/blogs/1489839
看看我写的一篇日志。


Qt读取double型的二进制数据文件,一般用QDataStream 序列化读取数值,存储到double数组中。


但是这个方法,比C的fread( void* buffer, size_t size, size_t count, FILE* stream )方法,慢好几倍。
  相关解决方案