📄 dumbhead.c
字号:
/* dumbhead.c -- trivial head(1) like program *//* (C) 2002 by Matthias Andree <matthias.andree@gmx.de> * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details, it is in the file named * COPYING. *//* $Id: dumbhead.c,v 1.1 2003/02/03 16:57:48 relson Exp $ */#include <stdio.h>#include <stdlib.h>/*@noreturn@*/static void die(const char *tag)#ifdef __GNUC__ __attribute__((noreturn))#endif;static void die(const char *tag){ perror(tag); exit(EXIT_FAILURE);}/* this is a very dumb "head" command that only copies from stdin to * stdout, but keeps embedded NUL characters. * It can accept a -N option, where N gives the number of lines. * If not given, defaults to 10. * Further or malformatted arguments are SILENTLY ignored. * * Diagnosis: read/write errors are detected, printed with perror and * let this program exit(EXIT_FAILURE). */int main(int argc, char **argv) { int lines = 10, c; if (argc >= 2 && argv[1][0] == '-') lines = atoi(&argv[1][1]); while(lines && (c = getchar()) != EOF) { /* RATS: ignore */ if (putchar(c) == EOF) die("stdout"); if (c == '\n') lines--; } if (ferror(stdin)) die("stdin"); if (fflush(stdout) == EOF) die("stdout"); exit (EXIT_SUCCESS);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -