首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

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

2012-09-19 
qt读取二进制文件,如何将数据装入到一个float型缓冲区中??有个文件是二进制形式,float格式的,我读取这个文

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 )方法,慢好几倍。

热点排行