Tengo un File
y quiero encontrar el archivo offset/posición, lo que sería fgetpos
en stdio
. Parece que no puedo encontrarlo en http://golang.org/pkg/io/. ¿Tengo que contarlo yo mismo o hay un método de compilación?fgetpos disponible en Go? ¿Desea encontrar File.Position
Respuesta
Debería poder hacer un Seek()
a 0 bytes desde la posición actual, que devuelve la posición resultante. No estoy 100% seguro de que el resultado sea la posición absoluta que buscas, pero espero que así sea.
¡Eso podría funcionar! Lo intentaré cuando lo necesite. – Joe
Genious. Me perdí por completo el valor de devolución y estaba a punto de rendirme cuando salvaste mi trasero. Probado y funciona, gracias! – zupa
Tenga en cuenta que esto ** no funcionará ** para archivos abiertos con el indicador 'O_APPEND'. Hay una advertencia en la documentación 'Seek' sobre el comportamiento indefinido, y hay más detalles disponibles aquí: https://github.com/golang/go/issues/12710. Hay una condición de carrera, pero si el bloqueo está asegurado ('syscall.Flock' para que otros procesos estén bloqueados más algunos' sync.Mutex' para que otros goroutines en el proceso actual también estén bloqueados), el método 'Stat' puede proporcionar la" posición "actual con 'FileInfo.Size'. – drdaeman
- 1. ftello/fseeko vs fgetpos/fsetpos
- 2. fgetpos/fsetpos y ftell/fseek
- 3. ¿Cómo encontrar un puerto disponible?
- 4. javascript para encontrar memoria disponible
- 5. ¿Cómo encontrar memoria disponible en iPhone programáticamente?
- 6. Google Go Win: no puede encontrar importación "http"
- 7. Soporte WSDL/SOAP en Go?
- 8. ¿Dónde puedo encontrar el logotipo 'Disponible en la App Store'?
- 9. compilación condicional en Go
- 10. Biblioteca compartida en Go?
- 11. Fusionar mapas en Go
- 12. Go-Scala-Go! ¿Cuáles son las principales diferencias?
- 13. bibliotecas de C++ que implementan Go rutinas o Go canales?
- 14. haciendo algoritmos genéricos en go
- 15. Computación en clúster en Go
- 16. Sizeof struct in Go
- 17. Encontrar el total físico disponible y disponible para un artículo/almacén
- 18. ¿Desea aprender el patrón ActiveRecord en C#
- 19. Algoritmo eficiente para encontrar el primer nombre disponible
- 20. Generando Números Aleatorios en Go
- 21. Codificador/decodificador WebP en go
- 22. ¿Cómo manejar i18n en Go?
- 23. Extracción de subcadenas en Go
- 24. comportamiento getopt-like en Go
- 25. Go, go get, go install, paquetes locales y control de versión
- 26. Desea almacenar objetos en la base de datos MySQL
- 27. Lista de formato de impresión en Go lang
- 28. USER_PRESENT Destino de GO Locker
- 29. Go usa Ir a analizarse?
- 30. ¿Desea lanzar excepciones en un autocargador SPL?
El paquete 'io' contiene código para E/S general no específica de los archivos. Los archivos están relacionados con el sistema operativo y, por lo tanto, están en el paquete 'os'. – Jessta
Sí, pero quería hacerlo a través de una interfaz (dado que estaba escribiendo mi propia 'clase' para proporcionar un archivo falso para probar además de esto). – Joe