网上看到的,实测可用!
int CopyFile(char *sfn, char *ofn, bool flag)
{
int sfd,ofd;
struct stat statbf;
sfd=open(sfn,O_RDONLY);
if(sfd==-1){
fprintf(stderr,"open file error on %s\n",sfn);
return 0;
}
fstat(sfd,&statbf);
ofd=open(ofn,O_WRONLY|O_CREAT,statbf.st_mode);
if(ofd==-1){
fprintf(stderr,"open file error on %s\n",ofn);
return 0;
}
sendfile(ofd,sfd,0,statbf.st_size);
close(sfd);
close(ofd);
return 1;
}