我被面试官问到如何实现Linux shell中的
然后我遇到了这个问题:应该使用哪种方式来实现
包括
tail
命令。我的回答是,首先将文件指针定位到文件末尾,然后逐个向前读取字符,如果遇到\n
,则表示一行结束,之后继续向前读取,如此循环。我认为我的回答是正确的。然后我遇到了这个问题:应该使用哪种方式来实现
tail
命令的文件指针定位?我以为可以简单地使用seekg
(C++语言的函数?),但是有人告诉我应该使用lseek
(Linux系统调用?)。包括
fseek
(ANSI C的函数?)在内,我应该使用哪种方式来实现tail
命令?它们之间有什么重大区别吗?
fseek
只是对lseek
的一个封装。 - James M