您的位置:首页 > 其它

cat命令使用及实现

2010-06-04 04:45 239 查看
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()没用到文件指针*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: