#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//定义外部传参的个数
if(argc!=3)
{
printf("input error\n");
printf("使用方式为:./a.out srcfile dstfile");
return -1;
}
//定义源文件指针
FILE *srcfp=NULL;
if((srcfp=fopen(argv[1],"r"))==NULL)
{
perror("fopen error");
return -2;
}
//定义目标文件指针
FILE *dstfp=NULL;
if((dstfp=fopen(argv[2],"w"))==NULL)
{
perror("fopen error");
return -3;
}
//定义一个搬运工
char buf[200];
while(fgets(buf,sizeof(buf),srcfp)!=NULL)
{
//将数据写入目标文件
fputs(buf,dstfp);
}
//关闭文件指针
fclose(srcfp);
fclose(dstfp);
printf("拷贝成功\n");
return 0;
}
运行代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//判断外部传参的个数
if(argc!=2)
{
printf("input error\n");
printf("usage:./a.out filename\n");
return -1;
}
//定义一个文件指针
FILE *fp;
if((fp=fopen(argv[1],"r"))==NULL)
{
perror("fopen error");
return -2;
}
char buf[250];
int count=0;
while(fgets(buf,sizeof(buf),fp)!=NULL)
{
count++;
}
printf("给的文件一共有%d行\n",count);
//关闭文件指针
fclose(fp);
return 0;
}
