📄 head.c
字号:
/* head - print the first few lines of a file Author: Andy Tanenbaum */#include <stdlib.h>#include <stdio.h>#define DEFAULT 10_PROTOTYPE(int main, (int argc, char **argv));_PROTOTYPE(void do_file, (int n, FILE *f));_PROTOTYPE(void usage, (void));int main(argc, argv)int argc;char *argv[];{ FILE *f; int n, k, nfiles; char *ptr; /* Check for flag. Only flag is -n, to say how many lines to print. */ k = 1; ptr = argv[1]; n = DEFAULT; if (argc > 1 && *ptr++ == '-') { k++; n = atoi(ptr); if (n <= 0) usage(); } nfiles = argc - k; if (nfiles == 0) { /* Print standard input only. */ do_file(n, stdin); exit(0); } /* One or more files have been listed explicitly. */ while (k < argc) { if (nfiles > 1) printf("==> %s <==\n", argv[k]); if ((f = fopen(argv[k], "r")) == NULL) printf("head: cannot open %s\n", argv[k]); else { do_file(n, f); fclose(f); } k++; if (k < argc) printf("\n"); } return(0);}void do_file(n, f)int n;FILE *f;{ int c; /* Print the first 'n' lines of a file. */ while (n) switch (c = getc(f)) { case EOF: return; case '\n': --n; default: putc((char) c, stdout); }}void usage(){ fprintf(stderr, "Usage: head [-n] [file ...]\n"); exit(1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -