#include <stdio.h>
#include <errno.h>
#define BUFFER_SIZE 1024
void cpfile(FILE *from_fd, FILE *to_fd)
{
int bytes_read,bytes_write;
char buffer[BUFFER_SIZE];
char * ptr;
while(bytes_read=fread(buffer, 1, BUFFER_SIZE, from_fd))
{
//printf("read is %d\n", bytes_read);
if((bytes_read==-1)&&(errno!=EINTR))
{
break;
}
else if(bytes_read>0)
{
ptr = buffer;
while(bytes_write = fwrite(ptr, 1, bytes_read, to_fd))
{
if((bytes_write==-1)&&(errno!=EINTR))
{
break;
}
else if(bytes_write==bytes_read)
{
break;
}
else if(bytes_write>0)
{
ptr += bytes_write;
bytes_read -= bytes_write;
}
}
if(bytes_write == -1)
{
break;
}
}
}
}
拷贝文件(c)
最新推荐文章于 2024-08-31 12:18:27 发布