代码:
#include <stdio.h>
//计算文件大小与行数
void size_fp(const char* s)
{
//流指针打开
FILE* f=fopen(s,"r");
char m[2]="";
int i=0;
int j=0;
//计算大小
while(fgets(m,sizeof(m),f)!=NULL)
{
i++;
if(10==m[0])
{
j++;
}
}
printf("文件大小为:%d\n",i);
printf("行数为:%d\n",j);
//关闭
fclose(f);
}
int main(int argc, const char *argv[])
{
//打开文件
FILE* fp=fopen(argv[1],"r");
if(NULL==fp)
{
perror("fopen");
return -1;
}
FILE* p=fopen(argv[2],"w");
if(NULL==p)
{
perror("fopen");
return -1;
}
//拷贝操作
char str[128]="";
while(fgets(str,sizeof(str),fp)!=NULL)
{
fputs(str,p);
}
//关闭文件
if(EOF==fclose(fp))
{
perror("fclose");
return -1;
}
if(EOF==fclose(p))
{
perror("fclose");
return -1;
}
//调用计算文件大小与行数函数
size_fp(argv[1]);
return 0;
}
效果:
