读取一个二进制的data文件,文件大小4M,我用如下代码读:
QByteArray data;
QFile file("D:/data/000000001.dat");
file.open(QIODevice::ReadOnly);
QDataStream in(&file);
in>>data; qDebug()<<data;
编译能通过,但是控制台弹出后就
出错?这是由于所读文件太大了么?
出错提示:
:: error: cannot open output file debug\duquwenjian.exe: Permission
denied:: error: collect2: ld returned 1 exit status
其实这个文件我想用如下代码读,我想把
数据读到pDATA中,但是4M的数据我只想读前1M,在VC中我用readHuge(pDATA,0x10000)可以读取这个.dat文件的前1M,不知道Qt中如何实现,这个是我仿照
C++中的方式编写的:
unsigned char *pDATA=new unsigned char[0x100000];
QFile file("D:/data/000000001.dat");
file.open(QIODevice::ReadOnly);
QDataStream in(&file);
in>>pDATA;
qDebug()<<pDATA;
依然不能用。下面是我要打开dat文件的一
部分截图,这个是我用ultraEdit打开的。
我是Qt菜鸟,正在努力学习,呵呵,希望牛人不吝赐教~我希望能在控制台查看这个数据的输出,只查看前十位就行,确定数据是否读取正确。