/usr/src/bin/cat/cat.c

2009-05-13 01:51:35来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

变化:
1、函数声明风格变了。从1.3(1997.7.20)的K&R风格变成了2.1(2004.1.4)的ANSI风格。
2、大括号仍然没变,遵循K&R风格。即函数的左括号在一行开始,其它(if,for,while,do,switch)的在一行最后。
3、函数调用出现的(void)fun()仍然没变。lint的怪毛病。
4、程序整体结构没变。只是增加了少量参数。
值得学习的设计思路:
1、参数处理为一单独函数cook_args,调用cook_cat输出。无参数则为raw_args,调用raw_cat。通常情况下cat命令都是无参数的,这样单独处理就减少了大量的比较,提高效率。
2、if,else真多……开关变量的使用。通常为int
3、setprogname函数。
1.3:
  1  /*  $NetBSD: cat.c,v 1.15 1997/07/20 04:34:33 thorpej Exp $ */
  2
  3  /*
  4   * Copyright (c) 1989, 1993
  5   *  The Regents of the University of California.  All rights reserved.
  6   *
  7   * This code is derived from software contributed to Berkeley by
  8   * Kevin Fall.
  9   *
10   * Redistribution and use in source and binary forms, with or without
11   * modification, are permitted provided that the following conditions
12   * are met:
13   * 1. Redistributions of source code must retain the above copyright
14   *    notice, this list of conditions and the following disclaimer.
15   * 2. Redistributions in binary form must reproduce the above copyright
16   *    notice, this list of conditions and the following disclaimer in the

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:悲喜二重天,拯救硬盘数据

下一篇:IBM 老本本升级BIOS