【发布时间】:2019-01-04 21:02:34
【问题描述】:
如果给定路径,我会使用它来获取文件大小
file, _ := os.Open(path)
fi, _ := file.Stat()
fsuze := fi.Size()
但如果仅给定fd,我怎样才能获得文件大小?
在 C 中有这样的 Go 方法吗:
lseek(fd, 0, SEEK_END)
【问题讨论】:
-
澄清一下,
fd是否表示整数文件描述符,就像 C 语言中的open()一样? -
是的。我通过调用 os.File.stat().Fd() 得到这个 fd
-
是的,使用
syscall.Fstat,基本上是fstat(2)。请注意,这当然不能移植到非 POSIX 平台。
标签: file go operating-system