echo.c

来自「操作系统源代码」· C语言 代码 · 共 52 行

C
52
字号
/* echo - echo arguments	Author: Andy Tanenbaum */#include <sys/types.h>#include <stdlib.h>#include <unistd.h>#define SIZE 1024char buf[SIZE];int count;_PROTOTYPE(int main, (int argc, char **argv));_PROTOTYPE(void collect, (char *s));int main(argc, argv)int argc;char *argv[];{  register int i, nflag;  nflag = 0;  if (argc > 1 && argv[1][0] == '-' && argv[1][1] == 'n') {	nflag++;	argc--;	argv++;  }  for (i = 1; i < argc; i++) {	collect(argv[i]);	if (i < argc - 1) collect(" ");  }  if (nflag == 0) collect("\n");  /* Print accumulated output. */  if (count > 0) write(1, buf, count);  return(0);}void collect(s)char *s;{/* Collect characters.  For efficiency, write them in large chunks. */  char c;  while ((c = *s++) != 0) {	if (count == SIZE) {		write(1, buf, count);		count = 0;	}	buf[count++] = c;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?