#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)
最新推荐文章于 2025-03-06 17:38:17 发布
本文介绍了一个简单的文件复制程序实现过程,使用C语言通过fread和fwrite函数进行数据读写操作,详细展示了如何从一个文件流读取数据并写入到另一个文件流中,包括错误处理流程。
&spm=1001.2101.3001.5002&articleId=7827990&d=1&t=3&u=f44f285f56d940998ab831b4ec10b588)
1万+

被折叠的 条评论
为什么被折叠?



