Mam File
i chcę znaleźć przesunięcie pliku/pozycji, co byłoby fgetpos
w stdio
. Nie mogę go znaleźć w http://golang.org/pkg/io/. Czy muszę to liczyć samemu, czy istnieje metoda kompilacji?fgetpos dostępne w Go? Chcesz znaleźć File.Position
Odpowiedz
Powinieneś być w stanie wykonać Seek()
na 0 bajtów z bieżącej pozycji, która zwraca wynikową pozycję. Nie jestem w 100% pewna, że wynik jest absolutną pozycją, na którą lecisz, ale oczekiwałbym, że tak się stanie.
To może po prostu zadziałać! Spróbuję, kiedy go potrzebuję. – Joe
Genialny. Całkowicie przegapiłem wartość zwrotu i miałem właśnie się poddać, kiedy uratowałeś mi tyłek. Przetestowane i działa, dzięki! – zupa
Uwaga, to ** nie będzie ** działać dla plików otwartych z flagą 'O_APPEND'. W dokumentacji 'Seek' pojawia się ostrzeżenie o niezdefiniowanym zachowaniu, a więcej szczegółów jest dostępnych tutaj: https://github.com/golang/go/issues/12710. Istnieje warunek wyścigu, ale jeśli zapewnione jest blokowanie ('syscall.Flock', więc inne procesy są blokowane oraz niektóre' sync.Mutex' tak, aby inne gorączki w bieżącym procesie były również blokowane) to metoda 'Stat' może zapewnić bieżącą" pozycję " z 'FileInfo.Size'. – drdaeman
- 1. fgetpos/fsetpos i ftell/fseek
- 2. Jak znaleźć dostępne urządzenia Bluetooth w zasięgu?
- 3. Chcesz znaleźć sposób robienia średnio wielu list
- 4. Gdzie mogę znaleźć logo "Dostępne w App Store"?
- 5. Chcesz zmienić tytuł NavigationItem
- 6. Gdzie można znaleźć wszystkie dostępne właściwości poczty Java?
- 7. Chcesz zrozumieć async
- 8. Jak rozwiązać "Musisz dodać" demony "do Gemfile, jeśli chcesz go użyć" błąd w trybie produkcji?
- 9. Czy chcesz zwolnić CGContextRef w Swift?
- 10. Pobierz dostępne typy w CoreCLR
- 11. ngJeśli chcesz ustawić kolor?
- 12. Dlaczego chcesz scalić $ _GET i $ _POST w PHP?
- 13. Które klasy Metody chcesz utworzyć?
- 14. to guawa-biblioteki dostępne w maven repo?
- 15. Usługa Android zabity z "już nie chcesz" - jak go uruchomić ponownie?
- 16. co oznacza "./..." w "go zainstalować./..." w języku go?
- 17. Assembly.GetExecutingAssembly() dostępne w .NET Core?
- 18. Dostępne reduktory w elastycznej MapReduce
- 19. Rodzaje szyfrowania dostępne w Javie?
- 20. Chcesz utworzyć dynamiczną subdomenę w kodzie kodów?
- 21. Chcesz datetime w nazwie pliku logu
- 22. Dlaczego chcesz użyć pliku ".pfx" w .NET
- 23. Kiedy chcesz ustawić nowe środowiska w R
- 24. Czy chcesz wyłączyć przecinki w cout?
- 25. Chcesz utworzyć własny szablon w Xcode 4.5
- 26. Chcesz wyskoczyć okno z akcją w CakePHP
- 27. Regex, aby znaleźć nazwane grupy przechwytujące z językiem programowania Go
- 28. Spring boot: skonfiguruj go, aby znaleźć folder webappa
- 29. NSLocale - uzyskaj wszystkie dostępne języki
- 30. Wtryskarka konstruktora - gdzie chcesz zadzwonić?
Pakiet "io" zawiera kod dla ogólnych operacji wejścia/wyjścia niezwiązanych z plikami. Pliki są powiązane z systemem operacyjnym i znajdują się w pakiecie "os". – Jessta
Tak, ale chciałem to zrobić za pomocą interfejsu (tak się składa, że pisałem własną "klasę", aby dostarczyć fałszywego pliku do testowania dodatkowo). – Joe