Qt内存映射「建议收藏」

Qt内存映射「建议收藏」最近在看代码的时候发现了Qt的内存映射,原来只知道MFC有内存映射机制,可以在读取大数据文件时节约读取的时间,原来Qt中也有相应的机制,其用法更简单,下面用一个小例子演示其用法#include#include#include#include#includeint

大家好,又见面了,我是你们的朋友全栈君。

最近在看代码的时候发现了Qt的内存映射,原来只知道MFC有内存映射机制,可以在读取大数据文件时节约读取的时间,原来Qt中也有相应的机制,其用法更简单,下面用一个小例子演示其用法

#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
#include <iostream>
#include <stdio.h>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QFile file("1.txt");
    file.open(QIODevice::ReadWrite);
    qDebug() << QStringLiteral("内存大小:") << file.size();
    uchar *fpr = file.map(0, file.size());
    int i = 0;
    int x1 = 0, x2 = 0, x3 = 0;
    char *pEnd1 = NULL;
    char *pEnd2 = NULL;
    char *pEnd3 = (char *)fpr;
    for (int i = 0 ; i < 3 ; ++i)
    {
        x1 = strtod(pEnd3, &pEnd1);
        x2 = strtod(pEnd1, &pEnd2);
        x3 = strtod(pEnd2, &pEnd3);

        std::cout << x1 << "," << x2 << "," << x3 << "\n";
    }

    file.close();
    return a.exec();
}

这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151691.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 永恒之蓝漏洞与勒索病毒Wannacry研究

    永恒之蓝漏洞与勒索病毒Wannacry研究永恒之蓝漏洞与Wannacry病毒家族

    2022年10月17日
    0
  • JavaScript Array Object

    JavaScript Array ObjectCreateanarrayCreateanarray,assignvaluestoit,andwritethevaluestotheoutput.(Youcanfindmoreexamplesatthebottomofthispa

    2022年7月13日
    13
  • android bindservice方法,Android bindservice方法返回false

    android bindservice方法,Android bindservice方法返回false我想从另一个类(BaseExpandableListAdapter)的活动中调用一个方法。活动中的方法启动服务并调用bindService(,,)方法。但是,bindService方法总是返回false。我查了其他类似的帖子,但没有一个解决了我的问题。任何评论非常感谢。Androidbindservice方法返回false这里是BaseExpendableListAdapter类中,我调用该方法…

    2022年5月27日
    54
  • linux修改文件内容如何保存退出

    linux修改文件内容如何保存退出1.进入文件vim文件名(vimtest.txt)2.编辑完成之后,按ESC键跳到命令模式(命令前面冒号是必要的):  :w保存文件但不退出vi  :wfile将修改另外保存到file中,不退出vi  :w!强制保存,不推出vi  :wq保存文件并退出vi  :wq!强制保存文件,并退出vi  :q不保存文件,退出vi  :q!不保存文件,强制退出vi  :e!放弃所有修改,从上次保存文件开始再编辑…

    2022年7月26日
    3
  • PAT乙级——1003

    PAT乙级——1003题目:我要通过!(20分)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P、A、T这三种字符,不可以包含其它字符;任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A…

    2022年5月22日
    29
  • Mysql数据库备份策略

    Mysql数据库备份策略Mysql数据库备份策略我的petstore所用的数据库是Mysql。Mysql的数据库备份不象那些企业界数据库那样完善,分为完全备份、差分备份以及日记纪录等等。Mysql备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件。mysqldump与MySQL服务器协同操作。直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数

    2022年5月2日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号