UbuntuでのC言語によるファイルコピー機能
4961 ワード
構想:a.ソースファイルとターゲットファイルを開く;b.ソースファイルの内容を読み出し、宛先ファイルに書き込む.c.ソースファイルとターゲットファイルを閉じる.
#include
#include <string.h>
#include
#include
#include
#include
#include
int main(){
//open file
int fd1 = open("./cpy_test1.c",O_RDONLY);
int fd2 = open("./cpy_test2.c",O_WRONLY| O_CREAT| O_TRUNC,0777);
if(fd1 == -1){//error
perror("open");
return -1;
}
printf("fd1=%d
",fd1);
if(fd2 == -1){ //error
perror("open");
return -1;
}
printf("fd2=%d
",fd2);
//read file
char buf[512] = {0};
int rret = read(fd1,buf,sizeof(buf));
if(rret == -1){//error
perror("read");
close(fd1);
return -1;
}
printf("rret=%d
",rret);
//write file
int wret = write(fd2,buf,sizeof(buf));
if(wret == -1){ //error
perror("write");
close(fd2);
return -1;
}
printf("wret=%d
",wret);
close(fd1); //
close(fd2); //
return 0;
}