cat程序目的是读取一个文件然后在标准输出设备上显示
#include "stdio.h"
/* cat: concatenate files, version 1 */
main(int argc, char* argv[])
{
FILE* fp;
void filecopy(FILE*, FILE*);
if(argc == 1) /* 当没有输入文件名时,就从标准输入读取数据送到标准输出设备 */
filecopy(stdin,stdout);
else
while(--argc >0)
if((fp = fopen(*++argv, "r")) == NULL)
{
printf("cat: can't open %s\n", *argv);
return 1;
}
else
{
filecopy(fp,stdout);
fclose(fp);
}
return 0;
}
/* filecopy: copy file ifp to file ofp */
void filecopy(FILE* ifp, FILE* ofp)
{
int c;
while((c = getc(ifp)) != EOF)
putc(c,ofp);
}