写一个copy_ string.c, 利用fgets 和fputs 是实现文件拷贝.注意源文件打开方式"r",目标文件打开方式"w".
拷贝完成后,最后输出拷贝的行数.
注:最后记得用fclose ( )函数关闭文件。
#ifndef _HEAD_H_
#define _HEAD_H_
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<error.h>
#include<unistd.h>
#endif
int copy_string(FILE* src_file,FILE* dest_file)
{
if(src_file==NULL)
{
perror("faile");
return -1;
}
if(dest_file==NULL)
{
perror("faile");
return -1;
}
char buf[1024]={0};
int count =0;
while(fgets(buf,sizeof(buf),src_file)!=NULL)
{
fputs(buf,dest_file);
if(buf[strlen(buf)-1]=='\n')
count++;
memset(buf,0,sizeof(buf));
}
return count;
}
int main(int argc, const char *argv[])
{
int count=0;
FILE* src_file=fopen(argv[1],"r");
FILE* dest_file=fopen(argv[2],"w");
count=copy_string(src_file,dest_file);
printf("%d %s\n",count,argv[2]);
fclose(src_file);
fclose(dest_file);
return 0;
}