cat命令使用及实现

Name:
 cat --concatenate files and print on the standard output 
       把档案串连接后传到基本输出(荧幕或加>fileName 到另一个档案)
 
使用方式:
 cat [OPTION][FILE]
参数:
 -n 或-number 由1开始对所有输出的行数编号
 -b 或-number -nonblank 和 -n相似,只不过对于空白行不编号
 -s 或-squeeze-bank当遇到有连续两行以上的空白,就替换成一行
 -v 或-show-nonprinting
范例:
 cat -n textfile1>textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里
 cat -b textfile1 textfile2>>textfile3把textfile1和textfile2的档案内容加上行号(空白行不加)之后将内容附加到textfile3
 
实现:
#include<stdio.h>
#include<stdlib.h>
FILE* filecopy(FILE* ifp,FILE* ofp);//当ofp为stdout时,将ifp指向的文件标准输出
int main(int argc,char* argv[])
{
  FILE* ftp;
  if(arg==1)
    filecopy(stdin,stdout);//当argc=1时,从标准输入输入到标准输出
  else
    while(--argc)
    if((fp=fopen(*++argv,"r"))!==NULL)/*argc不为1标准输出fp指向的文件*/
    {
       filecopy(fp,stout);
       fclose(fp);
    }
    else
    {
       print("error/n");
       exit(1);
    }
 
  return 0;
 
}
 
FILE* filecopy(FILE* ifp,FILE* ofp)
{
  char c;
  while((c=getc(ifp)!=EOF)
    putc(c,ofp);
}/*为什么用getc(),putc(),而不用getchar(),putchar(),
因为getc(),putc()没用到文件指针*/
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值