diff options
[SP/P01] Solved exercises from first practice (again)
1 files changed, 21 insertions, 0 deletions
| -rw-r--r-- | Year 3/System programming/Practice01/ex2-head.c | 21 |
diff --git a/Year 3/System programming/Practice01/ex2-head.c b/Year 3/System programming/Practice01/ex2-head.c new file mode 100644 index 0000000..197e8d2 --- /dev/null +++ b/Year 3/System programming/Practice01/ex2-head.c @@ -0,0 +1,21 @@ +#include <unistd.h> // ssize_t, read, write +#include <fcntl.h> // open, close, O_RDONLY, ... +#include <stdio.h> // printf, perror + +int main(int argc, char* argv[]) { + int f = open(argv[1], O_RDONLY); + if (f < 0) { + perror("open"); + return 1; + } + + ssize_t lines = 10; + + char buf; + while (read(f, &buf, 1) && lines > 0) { + if (buf == '\n') lines--; + printf("%c", buf); + } + + close(f); +} |
