近期写程序,需要对大文件进行读写操作,使用传统的QFile发现效率及其地下,于是想到了内存映射。
一查文档发现QFILE自带一个map函数,看了半天没有理解如何使用。
本人新手,以前未接触过内存映射,有哪位能给小弟发个QT下使用内存映射的例子,感激不尽。
只需要一段如何使用的代码段即可,谢谢了。
这种事文本格式,求段代码怎么把格式读出来用内存映射
410275.57 4207529.63 598.282
410275.90 4207542.12 616.827
410276.22 4207554.62 638.021
410276.54 4207567.11 656.056
410276.87 4207579.61 686.688
410277.19 4207592.10 701.087
QFile file(fileName);
file.open(QIODevice::ReadWrite );
uchar* fpr = file.map(0, file.size());//映射文件,注意这里的file.size()如果大于系统的虚拟内存,就要对文件分块映射
//其实对于大文件一般都是进行分块映射的。
if(fpr)
{
//do something to fpr
unmap(fpr);
}
file.close()
看到网上有这篇内容,不会怎么修改,求用文件映射把这个内容读出来,小弟感激不尽