#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include"string.h"
#include <stdlib.h>
int main(int argc, char const *argv[])
{
if (argc != 3)
{
perror("err");
return -1;
}
FILE *fp;
fp = fopen(argv[2], "r");
if (NULL == fp)
{
perror("err1");
return -1;
}
int num=atoi(argv[1]+1);//偏移,-3去掉- 3
if (num==0)//判断是否为第0行,第0行没有,是0行结束
return 0;
int len=0;
char buf[32]="";
while (fgets(buf,32,fp)!=NULL)
{
if (buf[strlen(buf)-1]=='\n')
len++;
printf("%s\n",buf);
if (len==num)
break;
}
fclose(fp);
return 0;
}
注意编译 gcc xl.c(文件名)
./a.out -3 xl.c
效果如下