Linux C操作超过2GB大小的文件

使用普通的open、lseek操作文件,当文件达到2GB的时候写数据就会失败。这也是显然的,lseek的原型是

long lseek(int handle, long offset, int fromwhere);

long在32位操作系统上只有4个字节,只能寻址正负2GB的数据。lseek64是用于读写大文件的API,原型是

off64_t lseek64(int fd, off64_t offset, int whence);

通过这个函数就可以寻址超过2GB的大文件了。最后不要忘了为open加上O_LARGEFILE标记,或者直接使用open64函数打开文件,这二者是等价的。

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:Linux C操作超过2GB大小的文件 https://www.yhzz.com.cn/a/15624.html

上一篇 2023-05-12
下一篇 2023-05-12

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。