Quelle est la différence entre fseek, lseek, seekg, seekp?

J'ai été invité par un intervieweur comment pourrais-je mettre en œuvre tail (oui, l'un dans le shell linux). Ma réponse a été, d'abord chercher à la fin du fichier, puis de lire les caractères un par un à l'avant, si rencontre un \nsignifie une ligne vers le bas, bla bla bla. Je suppose que ma réponse est correcte.

Puis j'ai trouvé ce problème, qui cherchent dois-je utiliser pour mettre en œuvre tail? Je pensais que je peux tout simplement utiliser seekg (C++?), mais on m'a dit que je devrais utiliser lseek (appel système linux?).

Donc y compris fseek (en C ANSI chose?), qui dois-je utiliser pour mettre en œuvre tail?
Et s'il y a une grosse différence entre eux?

source d'informationauteur Alcott