搜索

c++如何实现超大文件读取

gecimao 发表于 2019-07-02 18:24 | 查看: | 回复:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人数码行家采纳数:46970获赞数:112688视频剪辑、网络管理、图片处理、办公自动化、文学、语言学。向TA提问展开全部1、 创建文件(CreateFile),如下:

  1、 使用CreateFile创建/打开一文件,这个文件对象标识了磁盘上将要用作内存映射文件的文件。

  2、 使用CreateFileMapping函数来创建一个文件映射内核对象,告诉系统文件的尺寸以及访问文件的方式。

  3、 使用MapViewOfFile函数负责通过系统的管理而将文件映射对象的全部或部分映射到进程地址空间。

  4、 通过UnmapViewOfFile完成从进程的地址空间撤消文件数据的映像、通过CloseHandle关闭前面创建的文件映射对象和文件对象。

  功能:在一个大文件(文件名BigFile.txt)中,查找一字符串”End”。实现根据字符串End将文件截断的功能。

  知道合伙人互联网行家采纳数:20202获赞数:50631专业C/C++软件开发向TA提问展开全部fopen

  这个是seek到2M的参考代码更多追问追答追问不好意思我文件10G,比如我现在想读5G位置的10个字节怎么读追答windows系统吗? 64位还是32位的?什么操作系统

  _lseeki64 那么直接调用就好追问我尝试过读那个文件,过一段用tellg()输出,结果到2亿多(好像是int的上限)就突然变成负的2亿多了,感觉他的返回值只有int大小,但我要把后面的位置存下来,以后直接从那个位置用seekg读。怎么办?麻烦你了,给你加分追答还是取决于你的环境

  如果你的编译环境本身不支持大文件支持 那么只能用fseek一点一点累加过去

  底层只调用系统的fopen fseek fread fwrite 其他的都不调用

  知道合伙人软件行家采纳数:1140获赞数:5186毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。向TA提问展开全部对于超大文件的读取只能够循环读取文件;边读取边显示。

本文链接:http://arnybarn.net/duwenbenxingnacun/773.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部