两种实现简单cp的方法
生活随笔
收集整理的這篇文章主要介紹了
两种实现简单cp的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一種:標準IO
#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #define N 32 void mycp(const char * sour,const char * des); int main(int argc, const char *argv[]) {mycp(argv[1],argv[2]);return 0; }void mycp(const char * sour,const char * des) {int fd1 = open(sour,O_RDONLY|O_CREAT,0777);if(0>fd1){perror("fd1");return;}int fd2 = open(des,O_WRONLY|O_CREAT|O_TRUNC,0777);if(0>fd2){perror("fd2");return;}char buf[N];//ssize_t r = read(fd1,buf,N); ssize_t r;while(0<(r=read(fd1,buf,N))){//此處寫入的個數write(fd2,buf,r);//r = read(fd1,buf,N); }close(fd1);close(fd2); }第二種,文件IO
#include <stdio.h> void mycp(const char * sour,const char * des); int main(int argc, const char *argv[]) {if(3 != argc){printf("參數格式不正確,請重新輸入\n");return -1;}mycp(argv[1],argv[2]);return 0; }void mycp(const char * sour,const char * des) {FILE *psour = fopen(sour,"r");FILE *pdes = fopen(des,"w");if(NULL == psour || NULL ==pdes){printf("打開文件失敗,無法繼續\n");return;}int ch = fgetc(psour);while(EOF != ch){fputc(ch,pdes);ch = fgetc(psour);}fclose(psour);fclose(pdes); }?
轉載于:https://www.cnblogs.com/billcharint/p/10757606.html
總結
以上是生活随笔為你收集整理的两种实现简单cp的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java代码读取properties配置
- 下一篇: 防止ARP欺骗