VC++判断文件夹是否存在,不存在则创建文件夹

方法挺多的,_access和_mkdir算是比较古典了,不过很好用。

#include <io.h>
#include <direct.h>

// 判断文件夹是否存在
bool IsDirExist(const char *pszDir)
{
    if (pszDir == NULL)
        return false;
 
    return (_access(pszDir, 0) == 0);    // io.h
}
 
// 创建目录
bool CreateDirectory(const char *dir)
{
    if (NULL == dir)
        return false;
 
    char path[MAX_PATH];
    int nPathLen = 0;
 
    strcpy(path, dir);
    if ( (nPathLen = strlen(path)) < 1 )
        return false;
 
    for (int i = 0; i < nPathLen; ++i)
    {
        if (path[i] == '\\')
        {
            path[i] = '\0';
            _mkdir(path);    // <direct.h>
            path[i] = '\\';
        }
    }
 
    return (0 == _mkdir(path) || EEXIST == errno); // EEXIST => errno.h    errmo => stdlib.h
}

 

posted @ 2020-03-04 14:06  余生以学  阅读(1262)  评论(0编辑  收藏  举报