gpt4 book ai didi

linux - 关于文件查找位置的问题

转载 作者:太空狗 更新时间:2023-10-29 11:24:19 27 4
gpt4 key购买 nike

我之前的Question是关于原始数据读写的,但是出现了一个新的问题,好像没完没了....

问题是:lseek()fseek()等函数的参数都是4字节。如果我想移动超过 4G 的跨度,那是不可能的。我知道在Win32中,有一个函数SetPointer(...,Hign, Low,....),这个指针可以生成64字节的指针,这就是我想要的。

但是如果我想在 Linux 或 Unix 中创建一个应用程序(创建一个文件或直接写入原始驱动器扇区),如何移动到超过 4G 的指针?

谢谢,等待您的回复...

最佳答案

lseek 的偏移量参数是off_t 类型。在 32 位编译环境中,此类型默认为 32 位有符号整数 - 但是,如果您使用在所有系统包含之前定义的此宏进行编译:

#define _FILE_OFFSET_BITS 64

...那么 off_t 将是一个 64 位有符号类型。

对于 fseekfseeko 函数是相同的,只是它使用 off_t 类型作为偏移量,这使得上述解决方案可以工作也有它。

关于linux - 关于文件查找位置的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686434/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com