C语言:使用命令行参数用字符串读取流和输出流进行文本文件的复制

时间:2020-12-18 09:13:30

#include<stdio.h>

int main(int argc,char *argv[])

{

  //检查用户的参数是否正确

  if(argc<3)

  {

    printf("用法:命令 源文件名 目标文件名\n");

    return -1;

  }

  //先打开源文件

  FILE *fin = fopen(argv[1],"r");

  if(fin==NULL)

  {

    printf("打开源文件失败,请检查!\n");

    return -1;

  }

  //打开目标文件

  FILE *fout = fopen(argv[2],"w");

  //拷贝文件内容

  char buffer[100];

  while(!feof(fin))

  {

   //先从源文件中读文件

   if(fgets(buffer,100,fin)!=NULL)

    {

      //写到目标文件中

      fputs(buffer,fout);

}

  }

  //关闭两个文件

  fclose(fin);

  fclose(fout);

  return 0;

}