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; }