linux中實現檔案的複製(c程式碼實現)

被遺棄的庸才發表於2017-05-04


#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
int main(){ 
        //首先開啟一個檔案
        int file=open("sin.txt",O_RDONLY);
        if(file==-1){//校驗是否成功的開啟了檔案
        perror("read");//開啟失敗輸出資訊
        exit(1);//失敗退出當前的程式
        } 
        //建立一個寫入的檔案
        int new_file=open("love.txt",O_CREAT|O_WRONLY,0777);//設定許可權為777的love的txt檔案
        if(new_file==-1){//校驗是否成功的建立了該檔案 
        perror("write");//開啟失敗輸出資訊
        exit(1);//失敗退出當前的程式
        } 
        //建立一個緩衝,初始化為一
        int buff[1024]={0};
        int count=0;//初始化計數器
        count=read(file,buff,1024);//將讀到的位元組陣列儲存到緩衝陣列中
        if(count==-1){
        perror("read");//檔案中沒有資料
        exit(1);//退出程式
        }
        while(count){//當輸出為0時讀取完畢
        write(new_file,buff,count);//將讀取到的位元組寫入到檔案中
        count=read(file,buff,count);//繼續進行讀取
        }
        close(file);//關閉檔案
        close(new_file);//關閉檔案
}

相關文章