k9core/src/head.c

51 lines
733 B
C
Raw Normal View History

2020-08-05 10:28:59 +00:00
#include <stdio.h>
#include <stdlib.h>
int
head(FILE *file, int lines)
{
if(file == NULL)
{
printf("error opening file\n");
return 1;
}
2020-08-05 10:28:59 +00:00
int a;
int c = 0;
2020-08-05 19:44:21 +00:00
2020-08-05 10:28:59 +00:00
while((a = fgetc(file)) != EOF)
{
if(a == '\n')
2020-08-05 19:44:21 +00:00
++c;
2020-08-05 10:28:59 +00:00
putchar(a);
if(c == lines)
return lines;
}
return lines;
}
int
main(int argc, char *argv[])
{
int lines = 10;
2020-08-05 19:44:21 +00:00
switch(argc)
2020-08-05 10:28:59 +00:00
{
case 1:
head(stdin,lines);
break;
case 2:
head(fopen(argv[1],"r"),lines);
break;
case 3:
2020-08-05 10:28:59 +00:00
lines = abs(atoi(argv[1]));
head(fopen(argv[2],"r"),lines);
break;
default:
lines = atoi(argv[2]);
head(fopen(argv[3],"r"),lines);
break;
2020-08-05 10:28:59 +00:00
}
return 0;
}