zoukankan      html  css  js  c++  java
  • 数据拷贝的实现 2014-06-02 00:20 720人阅读 评论(0) 收藏

    本程序实现数据拷贝。

    #include <stdio.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #define BUFSIZE 4096
    
    int main(int argc,char* argv[])
    {
        if(argc!=1&&argc!=3)
        {
         fprintf(stderr,"Invalid argument number
    ");
         exit(1);
        }
        int from,to;
        int n;
        char buf[BUFSIZE];
        if(argc==1)
        {
          from = STDIN_FILENO;
          to = STDOUT_FILENO;
        }    
        else
        {
          if((from = open(argv[1], O_RDONLY))==-1)
          {
            fprintf(stderr,"open %s error
    ",argv[1]);
            exit(2);
          }
          if((to = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR))==-1)
          {
            fprintf(stderr,"open %s error
    ",argv[2]);
            exit(3);
          }
        }
        
        while ((n = read(from, buf, BUFSIZE)) > 0)
        {
          if (write(to, buf, n) != n)
          {
            fprintf(stderr, "write error
    ");
            exit(4);
          }
          if (n < 0) 
          {
            fprintf(stderr, "read error
    ");
            exit(5);
          }
        }
         close(from);
         close(to);
         exit(0);
    }


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    QT POST/GET HTTP操作
    PHP生成json
    Windows 获取进程ID
    易语言 多个窗口
    易语言 内存修改框架
    易语言 MD5生成
    易语言 获取验证码
    易语言网页登录 POST
    cs1.6 8倍镜
    HTMLTestRunner.py(Python3)
  • 原文地址:https://www.cnblogs.com/luo-peng/p/4646257.html
Copyright © 2011-2022 走看看