C语言如何实现大文件(10G以上)的读写,在线求救!

foxegg 2004-07-05 03:29:10
文件偏移量是8位的Long型,但当我要读写10G以上的大文件时,8位的Long将不够存储偏移量。此时若用一般的fopen,fread,fwrite等函数操作此文件是否可行?若不可行的话,有什么别的办法操作此函数?
...全文
925 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjp6688 2004-07-16
  • 打赏
  • 举报
回复 1
关注
Zark 2004-07-16
  • 打赏
  • 举报
回复
发表意见的人真不少,只有keiy的意见是对的.

gw2004 2004-07-15
  • 打赏
  • 举报
回复
分块读应该可以
ma100 2004-07-15
  • 打赏
  • 举报
回复
fseek(fp,n,SEEK_CUR)
多FSEEK几次,行不行没试过
step_by_step 2004-07-15
  • 打赏
  • 举报
回复
在unix有一套64位的函数比如creat64
你man一下就可以了
walkonthesky 2004-07-15
  • 打赏
  • 举报
回复
一次一个页面
大哥
先看看一个页面是多大
zhaomingdeng 2004-07-12
  • 打赏
  • 举报
回复
能不能利用操作系统自带的虚拟内存的管理,一次读入一个页面大小的内容来做呢?
LearnAndStudy 2004-07-12
  • 打赏
  • 举报
回复
多个文件指针对文件进行操作 不过这么大的文件 对应的系统会提供函数 关注中......
lbaby 2004-07-12
  • 打赏
  • 举报
回复
当然也可以用多个文件来模拟一个大文件
lbaby 2004-07-12
  • 打赏
  • 举报
回复
与操作系统和文件系统相关
柯本 2004-07-12
  • 打赏
  • 举报
回复
如果是win32平台,只有在NTFS文件系统下文件大小才能超过4G
可用CreateFile建文件,SetFilePointer移文件指针
ReadFile/WriteFile读写文件
datuhao 2004-07-12
  • 打赏
  • 举报
回复
错了是2~32
datuhao 2004-07-12
  • 打赏
  • 举报
回复
我的意思是说,能不能考虑多线程把文件分割成n个部分来读,每个部分的大小控制在2~8以内
pacman2000 2004-07-12
  • 打赏
  • 举报
回复
跟线程应该没有关系。。。
文件系统如果突破了32位的限制,那肯定是有提供相应的系统接口函数的。
datuhao 2004-07-12
  • 打赏
  • 举报
回复
多线程
021850524 2004-07-12
  • 打赏
  • 举报
回复
_lseeki64试试.win平台的,非c标准函数.偏移是用_int64表示的.看msdn上的讲解吧.

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧