go中有fgetpos吗?想要找到File.Position

Joe*_*Joe 8 go

我有一个File,我想找到文件偏移/位置,将fgetpos在什么stdio.我似乎无法在http://golang.org/pkg/io/中找到它.我是否必须自己计算或者是否有内置方法?

unw*_*ind 18

您应该能够Seek()从当前位置执行0到0个字节,返回结果位置.我不是100%肯定结果是你所追求的绝对位置,但我希望它是.

  • 请注意,这**不会**适用于使用“O_APPEND”标志打开的文件。“Seek”文档中有关于未定义行为的警告,更多详细信息可在此处获得:https://github.com/golang/go/issues/12710。存在竞争条件,但如果确保锁定(`syscall.Flock` 所以其他进程被阻塞,加上一些 `sync.Mutex` 所以当前进程中的其他 goroutines 也被阻塞)那么 `Stat` 方法可以提供当前的“位置”与`FileInfo.Size`。 (6认同)
  • 天才。我完全错过了返回值,当你救了我的屁股时,我正准备放弃。经测试有效,谢谢! (2认同)