gpt4 book ai didi

c - Cygwin 的 fseeko 替代品?

转载 作者:太空宇宙 更新时间:2023-11-04 02:52:38 25 4
gpt4 key购买 nike

我已经安装了 Cygwin (CYGWIN_NT-6.1 AlexReynolds-PC 1.7.27(0.271/5/3) 2013-12-09 11:54 x86_64 Cygwin) 和 GNU gcc/g++ 4.8.1 .

我正在编译一些使用 POSIX C I/O 例程的工具,例如 fseeko()并得到以下类型的 fatal error :

 error: ‘fseeko’ was not declared in this scope
int retValue = fseeko(stream, offset, whence);

fseeko() 在 Cygwin 上的 GNU gcc/g++ 4.8.1 中可用吗?如果没有,是否有可靠地支持 64 位偏移量的替代方案?

最佳答案

fseeko() 在我安装的 Cygwin 中可用(CYGWIN_NT-6.1-WOW64 1.7.25(0.270/5/3) 2013-08-31 20:39 i686 Cygwin) 与 GCC 4.7.3。但是,如果您的安装由于某种原因没有它,您有几个选择:

  • fseek() ,需要注意的是偏移量可能限制为 32 位而不是 64 位(取决于 sizeof(long))
  • fsetpos() ,它采用 fpos_t 作为偏移量。但是,fpos_t 可能是一个不透明的结构,因此使用它的唯一可靠方法是调用 fgetpos() 获取当前位置,然后调用 fsetpos () 将偏移量恢复到较早的位置;否则您不能使用它来寻找特定的偏移量。

关于c - Cygwin 的 fseeko 替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20573123/

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