Zostałem poproszony przez ankietera, że jak zaimplementować tail
(tak, ten w powłoce linux). Moja odpowiedź brzmiała: najpierw postaraj się o koniec pliku, a następnie odczytuj znaki jeden po drugim naprzód, jeśli napotka na \n
, oznacza to, że jedna linia jest pusta, bla bla bla. Zakładam, że moja odpowiedź jest prawidłowa.jaka jest różnica między `fseek`,` lseek`, `seekg`,` seekp`?
Potem znalazłem ten problem, którego szukam powinienem użyć do wdrożenia tail
? Myślałem, że mogę po prostu użyć seekg
(C++ rzecz?), Ale powiedziano mi, że powinienem użyć lseek
(wywołanie systemowe Linux?).
Więc w tym fseek
(rzeczy ANSI C?), Który powinienem użyć do wdrożenia tail
? Czy jest jakaś duża różnica między nimi?
Całkiem pewne 'fseek' jest po prostu opakowaniem dla' lseek' na Linuksie. –
@JamesMcLaughlin, Spodziewam się tego. – Alcott