linux c实现文件复制
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <libgen.h>
#include <fcntl.h>
#define BUFFER_SIZE 4096
int main(int argc,char* argv[])
{
if(argc != 3)
{
printf("Usage:%s src dest ",basename(argv[0]));
exit(-1);
}
char* szSrc = argv[1];
char* szDest = argv[2];
if(access(szSrc,F_OK)!=0)
printf("file is not exists. "),exit(-1);
int srcfd = open(szSrc,O_RDWR);
if(srcfd == -1)
perror("open"),exit(-1);
int destfd = open(szDest,O_RDWR|O_CREAT|O_TRUNC,0664);
if(destfd == -1)
perror("open"),exit(-1);
ssize_t size = -1;
char buf[BUFFER_SIZE];
while((size=read(srcfd,buf,4096)))
write(destfd,buf,size);
printf("%s cp to %s success! ",szSrc,szDest);
return 0;
}
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <libgen.h>
#include <fcntl.h>
#define BUFFER_SIZE 4096
int main(int argc,char* argv[])
{
if(argc != 3)
{
printf("Usage:%s src dest ",basename(argv[0]));
exit(-1);
}
char* szSrc = argv[1];
char* szDest = argv[2];
if(access(szSrc,F_OK)!=0)
printf("file is not exists. "),exit(-1);
int srcfd = open(szSrc,O_RDWR);
if(srcfd == -1)
perror("open"),exit(-1);
int destfd = open(szDest,O_RDWR|O_CREAT|O_TRUNC,0664);
if(destfd == -1)
perror("open"),exit(-1);
ssize_t size = -1;
char buf[BUFFER_SIZE];
while((size=read(srcfd,buf,4096)))
write(destfd,buf,size);
printf("%s cp to %s success! ",szSrc,szDest);
return 0;
}
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: php中删除和判断变量
- 下一篇: linux c 通过内存映射,操作文件