#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define BUFFSIZE 1024
int main(int argc,char** argv)
{
int sfd,dfd;
char buf[BUFFSIZE];
int len,ret,pos;
if( argc < 3 )
{
fprintf(stderr,"Usage...\n");
exit(1);
}
sfd = open(argv[1],O_RDONLY);
if( sfd < 0)
{
perror("open()");
exit(1);
}
open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0600);
if( dfd < 0)
{
close(sfd);
perror("open()");
exit(1);
}
while(1)
{
len = read(sfd,buf,BUFFSIZE);
if( len < 0)
{
perror("read()");
break;
}
if( len == 0 )
{
break;
}
pos = 0;
while( len > 0 )
{
ret = write(dfd,buf+pos,len);
if( ret < 0)
{
perror("write()");
exit(1);
}
pos += ret;
len -= ret;
}
}
close(sfd);
close(dfd);
exit(0);
}open() close() 函数的使用
最新推荐文章于 2022-06-12 02:26:08 发布
本文介绍了一个简单的文件复制程序,使用 C 语言实现,并通过标准输入输出流进行文件读写操作。程序利用了 POSIX 标准库中的函数,如 open、read 和 write 来完成从源文件到目标文件的数据复制。
1525

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



