cp文件和mkstemp

编程技术  /  houtizong 发布于 3年前   100
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <fcntl.h>char _tmp_path[1024];char _config_dirpath[1024];char _so_path[1024];char _config_filepath[1024];int main(){    snprintf(_config_dirpath, sizeof(_config_dirpath),              "/data/c/file");    snprintf(_so_path, sizeof(_so_path),                                                                                                                                      "%s/libprocess.so", _config_dirpath);    snprintf(_tmp_path, sizeof(_tmp_path),            "%s/libprocess.XXXXXX", _config_dirpath);    int ret = mkstemp(_tmp_path);    if (ret == -1)    {        printf("create tmp so file %s fail, error:%s",                _tmp_path, strerror(errno));        return 1;    }    /* copy file to tmpfile */    if(!copy_file(_so_path, _tmp_path))    {        printf("copy %s to %s so fail",                _so_path, _tmp_path);        return 1;    }    return 0; }int copy_file(const char* source, const char* dst){    int rfd = open(source, O_RDONLY);    if (rfd == -1)    {        printf("%s so file open fail,error:%s", source, strerror(errno));        return 1;    }    int wfd = open(dst, O_WRONLY|O_CREAT|O_APPEND);    if (wfd == -1)    {        printf("%s so file open fail,error:%s", dst, strerror(errno));        return 1;    }    char buf[1024];    int rcount;    int wcount;    while ((rcount = read(rfd, buf, sizeof(buf))) != 0)    {        if (rcount == -1)        {            printf("read %s so file fail,error:%s", source, strerror(errno));            return 1;        }        wcount = write(wfd, buf, rcount);        if (wcount != rcount)        {            printf("write %s so file fail", dst);            return 1;        }    }    close(rfd);    close(wfd);    return 0;}

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客