在UNIX环境高级编程这一本书中有段程序
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main (int argc, char **argv)
{
if(lseek(STDIN_FILENO, 0, SEEK_CUR) == -1)
printf("cannot seek\n");
else
printf("seek ok\n");
return 0;
}
使用俩种方式运行其结果不同
标准输入输出流(特指 stdin stdout)无法设置位移量,文件可以设置读写的位移,这是 Linux 内核实现的