gpt4 book ai didi

我可以使用标准库在 C 中寻找超过 2GB 的位置吗?

转载 作者:太空狗 更新时间:2023-10-29 17:17:50 25 4
gpt4 key购买 nike

我正在制作一个用 C 语言读取磁盘镜像的程序。我正在尝试制作一些可移植的东西,所以我不想使用太多特定于操作系统的库。我知道有许多磁盘镜像是非常大的文件,但我不确定如何支持这些文件。

我已经阅读了 fseek,它似乎使用了一个 long int,它不能保证支持超过 231-1 的值. fsetpos 似乎支持 fpos_t 更大的值,但无法指定绝对位置。我也考虑过使用 fseek 进行几个相对搜索,但我不确定这是否可移植。

我如何在 C 中支持可移植地支持大文件?

最佳答案

没有可移植的方式。

在 Linux 上有 fseeko()ftello(),一对(需要一些定义,检查 ftello() )。

在 Windows 上,我相信你必须使用 _fseeki64() and _ftelli64()

#ifdef 是你的 friend

关于我可以使用标准库在 C 中寻找超过 2GB 的位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30657968/

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