6.20作业

#include
int main(int argc, const char *argv[])
{   //argc:执行文件时,传入文件的个数
    //argv[]:文件数组
    if(argc!=2)//判断文件个数是否为2
    {
    printf("input file error\n");
    printf("usage:./a.out fileName\n");
    return -1;
    }
    //定义文件指针
    FILE *fp;
    //以只读形式打开文件
  if((fp=fopen(argv[1],"r"))==NULL)
  {
      perror("fopen error");
      return -1;
  }
  //定义容器存放读取的字符
  char ch;
  //定义变量记录行号
  int count=0;
  //设置循环从文件中读取数据
  while((ch=fgets(fp))!=EOF)
  {   
      //判断该字符是否为换行符号
      if(ch=='\n')
          count++;
  }
//关闭文件
    fclose(fp);
    printf("%d\n",count);
    return 0;
}

#include

int main(int argc, const char *argv[])
{//argc:执行文件时传入文件的个数
    //argv:文件数组
    //判断文件个数是否为三
    if(argc!=3)
    {
        printf("input file error\n");
        printf("usage:./a.out scrfile destfile\n");
        return -1;
    }
    //定义两个文件指针
    FILE *fp1;
    FILE *fp2;
    //以只读模式打开文件
    if((fp1 = fopen(argc[1],"r")) == NULL)
    {
        perror("fopen1 error");
        return -1;
    }
    //以只写模式打开文件
    if((fp2 = fopen(argv[2],"w")) == NULL)
    {
        perror("fopen2 error");
        return -1;
    }
    //定义容器存放读取的字符
    char ch;
    //循环从文件中读取数据
    while((ch=fgets(fp1)) != EOF)
    {
         fputs(ch,fp2);//将读取的数据放到第二个文件中

    }
    //关闭文件
    fclose(fp1);
    fclose(fp2);
    printf("拷贝成功\n");
    return 0;
}
 

你可能感兴趣的:(数学建模)