linux--access函数与mkdir函数

2020-04-26 08:00:11来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

linux--access函数与mkdir函数

access函数与mkdir函数

这两个函数在往本地存储数据创建新的文件夹时用到

        std::string file_path1 = "./image_data/front_middle/" + std::to_string(time_stamp_) + ".jpg";
        if(access(file_path1,0)==-1)  // this dir is not exist .
            if(mkdir(file_path1,0744)==-1)
                std::cout<<"The data folder create error!"<<std::endl<<file_path1<<std::endl;
access
#include<unistd.h>
int access(const char* pathname, int mode);

pathname是文件的路径名 + 文件名(或者只是路径名)

mode:指定access的作用,取值如下:

? F_OK 值为0,判断文件是否存在

? X_OK 值为1,判断对文件是可执行权限

? W_OK 值为2,判断对文件是否有写权限

? R_OK 值为4,判断对文件是否有读权限

? 注:后三种可以使用或“|”的方式,一起使用,如W_OK|R_OK

返回值:成功0(存在),失败-1(不存在)

mkdir
#include <stdio.h>
int mkdir(const char *pathname, mode_t mode);

pathname是文件的路径名

mode:定义所新建目录的权限

返回值:创建失败返回-1,创建成功返回0

  char daystr[20];
    timeval tv;
    gettimeofday(&tv,NULL);
    strftime(daystr,sizeof(daystr),"%Y-%m-%d",localtime(&tv.tv_sec));
    for(int i=0;i<20;i++) {
        if(daystr[i]==':')
            daystr[i]='-';
    }
    save_path_string = save_path_string + daystr + std::string("/");

    if(access(save_path_string.c_str(),0) == -1)
        if(mkdir(save_path_string.c_str(),0744) == -1)
            std::cout<<"The data folder create error!"<<std::endl<<save_path_string<<std::endl;


    char mytime[20];
    strftime(mytime,sizeof(mytime),"%Y-%m-%d-%T",localtime(&tv.tv_sec));
    for(int i=0;i<20;i++) {
        if(mytime[i]==':')
            mytime[i]='-';
    }

    save_path_string2 = save_path_string + std::string("/") + mytime + std::string("/");
    if(access(save_path_string2.c_str(),0) == -1)
        if(mkdir(save_path_string2.c_str(),0744) == -1)
            std::cout<<"The data folder create error!"<<std::endl<<save_path_string2<<std::endl;

原文链接:https://www.cnblogs.com/simard/p/12779396.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:cockpit 设置端口;设置多端口监听;

下一篇:hdparm 命令使用;关闭硬盘 HDD cache; 硬盘读写性能测试;