命令方式实现文件移动
//文件移动(命令方式)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
char buff[256] = {0};
sprintf(buff,"mv %s %s",argv[1],argv[2]);
system(buff);
return 0;
}
文件操作方式实现文件拷贝
//文件移动,文件操作方式
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
int main(int argc,char* argv[]){
//打开文件
int fdStr = open(argv[1],O_RDONLY,0666); //原始文件
if(-1 == fdStr)
printf("文件打开失败:%m\n"),exit(-1);
printf("文件打开成功!\n");
int fdDst = open(argv[2],O_WRONLY | O_CREAT,0666); //目标文件
if(-1 == fdDst)
printf("文件创建失败:%m\n"),exit(-1);
printf("文件创建成功!\n");
//文件复制
int r;
char buff[1024] = {0};
while(1){
r = read(fdStr,buff,1024);
if(r > 0){
write(fdDst,buff,r);
}else{
break;
}
}
//文件关闭
close(fdStr);
close(fdDst);
//删除原始文件
unlink(argv[1]);
return 0;
}