程序如何在32位机子上支持大文件读写
来源:互联网 发布:个性定制软件 编辑:程序博客网 时间:2024/04/27 20:55
今天在编写程序的时候,发现程序无法打开>4G的文件,获取文件的结构信息也获取不到,遂有这篇文章进行分享。
有如下几个步骤需要添加:
一:在所需要的头文件的#include之前添加如下几行代码:
#undef _FILE_OFFSET_BITS
#define _FILE_OFFSET_BITS 64
#undef _LARGEFILE_SOURCE
#define _LARGEFILE_SOURCE
#undef _LARGEFILE64_SOURCE
#define _LARGEFILE64_SOURCE
二:在编译程序的时候,加入如下选项:
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILE
在程序的函数中,要注意如下几个方面:
一:首先32位机器用fopen/fclose打开大文件没有问题,顺序读写操作while(!feof(fp)){ fread / fgets / fscanf }或while(1){ fwrite / fputs / fprintf} 也没有问题。
二:由于32位机器下long是32位,故
fseeko (FILE *stream, off_t offset, int whence)
off_t ftello(FILE *stream)
不能访问4G以上文件。此时要用
fseeko (FILE *stream, off_t offset, int whence)
off_t ftello(FILE *stream)
- 程序如何在32位机子上支持大文件读写
- 如何在没有装VC的机子上跑MFC程序
- 如何使vc2008写的非MFC程序运行在无vc环境的机子上?
- 在64位Windows的IIS上开启32位程序支持
- 在64位Windows的IIS上开启32位程序支持(转)
- 在64位Windows的IIS上开启32位程序支持
- 如何在ubuntu 64 11.04 上运行32位程序
- 如何在Ubuntu14.04上运行32位程序
- android64位机子兼容32位.so库文件
- android64位机子兼容32位.so库文件
- 如何防止同一个用户在不同机子上登陆
- 如何在一台机子上启动两个TOMCAT
- 如何在一台linux机子上安装XP系统
- 如何在一台机子上启动两个TOMCAT
- 如何在一台机子上启动两个TOMCAT
- 在电脑上安装64位Office2013出错提示找到了32位程序如何解决
- 如何在64位机器上创建32位Dump文件
- Android so文件是32位时,如何在64位手机上运行。
- Oracle Tips 1 (Oracle Architectural Components)
- WM_LBUTTONDBLCLK和WM_LBUTTONDOWN的触发解决方法
- 本来想写点什么的,可是近阶段忙着项目,没有时间
- ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI .
- android adb常用指令
- 程序如何在32位机子上支持大文件读写
- LED驱动实例5(信号量+udev)
- 电脑/计算机快捷键
- APSys'2011见闻
- A+B for Input-Output Practice (I)
- sha1加密(C# VS2005)(转自:http://yardan.blog.51cto.com/304821/60705)
- Xapian高性能测试-单库VS多库
- 十六进制字符串转换为十进制数值
- 一个请求从 URL 字符串到 HTML 代码的“漫长曲折”之路 .