用fputc和fgetc实现cat命令
#include"stdio.h"
#include"unistd.h"
#include"string.h"
int main(int argc,char *argv[])
{
FILE *src_fp;
int read_ret;//读的返回值
if(argc <2)//如果命令行参数<2,则输入源码,用cat命令时需要两个命令
{
printf("please input src file\n");
return -1;
}
src_fp=fopen(argv[1],"r");//从命令行输入的文件以只读打开
if(src_fp ==NULL)//打开失败
{
printf("open src file %s failure\n",argv[1]);
return -2;
}
//printf("open src file %s sucess\n",argv[1]);//打开成功
//开始读写
while(1)//内容多,所以一次写不完,要套死循环,用feof判断什么时候读完
{
read_ret=fgetc(src_fp);
if(feof(src_fp))
{
//printf("read file %s end\n",argv[1]);
break;
}
fputc(read_ret,stdout);
}
fclose(src_fp);
return 0;
}