• 3222阅读
  • 5回复

QT 如何进行内存映射读取呢,求代码 [复制链接]

上一主题 下一主题
离线louis_liux
 

只看楼主 倒序阅读 楼主  发表于: 2015-01-31
如题
离线liudianwu

只看该作者 1楼 发表于: 2015-01-31
很笼统很朦胧,不知道什么问题!呵呵!帮顶一下!
专业各种自定义控件编写+UI定制+输入法定制,童叟无欺,量大从优,欢迎咨询购买定制!QQ:517216493
群号:853086607(Qt交流大会,雨田哥群,不定期上传作品,解答作品中相关问题!) 312125701(QtQML多多指教群) 46679801(Qt开发技术交流群-5000人大群)
离线louis_liux

只看该作者 2楼 发表于: 2015-01-31
回 liudianwu 的帖子
liudianwu:很笼统很朦胧,不知道什么问题!呵呵!帮顶一下! (2015-01-31 13:44) 

//11.txt文件中的内容
0.0 -0.457764-1.2207 4.45557
2.0e-004-1.37329-3.35693-2.59399
4.0e-0044.11987 -3.96729-11.4746
6.0e-0042.44141 -2.28882-3.87573
8.0e-004-4.11987-1.52588-3.14331
1.0e-003-0.457764-4.11987-12.5427
1.2e-003-17.5476-1.37329-10.3455
1.4e-003-1.2207 4.73022-3.78418
1.6e-0030.1525880.152588-6.71387
1.8e-003-0.610352-4.27246-5.92041
/***************************************************************/
QFile file("11.txt");
double a1,a2,a3,a4;
if(!file.open(QIODevice::ReadOnly))
{
cout<<"Open Error"<<endl;
return 0;
}
QTime time;
time.start();
uchar *fptr=file.map(0,file.size());
//接下来该如何从fptr提取提取数据
离线louis_liux

只看该作者 3楼 发表于: 2015-01-31
回 liudianwu 的帖子
liudianwu:很笼统很朦胧,不知道什么问题!呵呵!帮顶一下! (2015-01-31 13:44) 

我补充了下,看看能行吗
离线pxiao_xiao

只看该作者 4楼 发表于: 2015-02-13
unsigned char * pFilePtr = m_pFilePtr;                   //获取文件映射指针
pFilePtr += nOffset;
然后
template<typename T>
void toParam(unsigned char *& ptr , T& nParam , bool bLittle)
{
    int nCnt = sizeof(T);
    unsigned char * pParam = (unsigned char *)(&nParam);
    if (bLittle)                  //小端对齐
    {
        for (int i = 0 ; i < nCnt ; ++i)
        {
            *(pParam+(nCnt - i - 1)) = *ptr++;
        }
    }
    else
    {
        for (int i = 0 ; i < nCnt ; ++i)
        {
            *pParam++ = *ptr++;
        }
    }
}
离线小神仙

只看该作者 5楼 发表于: 10-11
百度 “aladeng”,阿拉灯 aladeng !!!
快速回复
限100 字节
 
上一个 下一个