2 qt wobuhui QT_wobuhui 于 2014.10.20 22:21 提问

QT基于c++编写的程序不能读取大文件

DataProcess::DataProcess(const QString& filepath) :
DatafilePath(filepath)
{
QFile file(DatafilePath);
if(!file.open(QIODevice::ReadOnly)) {
qDebug()<<"open failed!"< }
datastruct.nDatas=file.size()/4;
QDataStream in(&file);
in.setByteOrder(QDataStream::LittleEndian);
in.setFloatingPointPrecision(QDataStream::SinglePrecision);
datastruct.data = new float[datastruct.nDatas];
for(int i=0;i in>>datastruct.data[i];
}
}
读取600m的dat文件可以,但是1g就不行 为什么呀 谢谢大神

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
基于Qt读写excel类(综合了网上常见的几个类,修改而成)
基于Qt读写excel类,综合了网上常见的几个读写类,可以实现execel表格的打开,保存,读取单元格的值,设置单元格的值等操作。qt4.8.6测试通过。
智能家居控制系统(服务器端) qt源代码(c语言编写) linux下运行
传感器模块 远程监控模块 socket模块等
基于QT和opencv的摄像头(本地图片)读取并输出程序
本程序是基于我的毕业设计进行的开发,这篇博客中的图像处理算法是直接调用opencv自带的函数,原理比较简单,谢绝任何形式的转载。  qt主要是用来做界面设计,opencv主要用来做算法处理。程序开发之前的配置工作在作者以前发表的博客中可以看到。  1.首先用QT进行界面设计,本文所设计的QT界面如图1。程序中部件的名称就不一一标明了,需要用到的时候自会说明。 图一 2.编写打开
点云读取速度比较——QTextStream、C++文件流、C++文件映射
最近研究了一下CC的点云读取类,速度简直快到不行。     后来发现CC就是简单使用了QTextStream进行读取。     笔者之前研究过文件映射进行点云读取,速度也是非常快。内存映射之所以能达到这么高的速度是因为系统直接把整块硬盘内存直接交由程序处理,省去了数据交换过程。     那么文件映射和QTextStream究竟谁快呢?     笔者准备了一个1000W多的XYZ格式的点云,
分段读取文件
一个文件可能很大,无法一次读取到内存中,所以要分段读取;虽然简单,不过经常用到,就写到这里; 这里为了简单演示,将所有代码在一个函数中完成,具体应用中当然还是要封装一下;   void CTmfc2Dlg::ReadFileT() {  // TODO: Add your control notification handler code here    char * pstr
C/C++快速读写磁盘数据的方法-块读取/异步/优化分析算法/内存文件映射的原理和使用
快速读写磁盘数据的方法: 1.一下子将数据读取到内存的(无论是文本还是二进制),而不是一行行的读取。 2.异步的IO,创建多线程,或者使用重叠IO,IO复用,异步的事件回调通知机制(可以用事件对象,信号驱动来实现)。 3.使用内存文件映射, window是CreateFileMapping,MapViewOfFile,UnmapViewOfFile,CloseHandle;linux是用
C语言 大文件读写
http://blog.chinaunix.net/u1/33412/showart_397173.html 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内
用C语言读取大文件的问题
Windows对文件的读写提供了很丰富的操作手段,如:1. FILE *fp, fstearm...; (C/C++)2. CFile, CStdioFile...; (MFC)3. CreateFile, ReadFile...;(API)...在处理一般的文件(文本/非文本),这些足够了。然而在处理比较大的文件如几十M, 几百M, 甚至上G的文件, 这时再用一般手段处理,系统就显的力不从心
qt多窗口实验(直流电机控制)完整设计分析
qt多窗口实验(直流电机控制)完整设计分析
使用 VS2013 编写基于 CSocket 的 文字通信 及 大文件传输
基于CSocket 以异步的方式进行文字通信 以同步阻塞的方式进行文件传输 可传输文件大小为 ULONGLONG 的长度 0x7fffffffffffffff 个字节的文件 应该没这么大的文件吧 :3」∠ 由于小子能力有限 愣是没办法把文件传输放到另一个线程中 所以当传输文件时 会一直阻塞住 :3」∠ 这个线程的代码被我注释掉在文件里 求教怎么做 ">基于CSocket 以异步的方式进行文字通信 以同步阻塞的方式进行文件传输 可传输文件大小为 ULONGLONG 的长度 0x7fffffffffffffff 个字节的文件 应该没这么大的文件吧 :3」∠ 由于小子能力有限 愣是没办法把文件传输放到 [更多]