您的位置:首页 > 运维架构 > Linux

C/C++创建目录函数,支持windows和linux

2012-12-25 09:49 387 查看
最近因为项目原因,需要写一个根据路径字符串创建目录的函数,需要支持windows和linux,特贡献出来。

1。首先请加上这些预编译

#ifdef _WIN32

#include <direct.h>

#include <io.h>

#elif _LINUX

#include <stdarg.h>

#include <sys/stat.h>

#endif

#ifdef _WIN32

#define ACCESS _access

#define MKDIR(a) _mkdir((a))

#elif _LINUX

#define ACCESS access

#define MKDIR(a) mkdir((a),0755)

#endif

2。函数体

INT CreatDir(char *pszDir)

{

INT32 i = 0;

INT32 iRet;

INT32 iLen = strlen(pszDir);

//在末尾加/

if (pszDir[iLen - 1] != '\\' && pszDir[iLen - 1] != '/')

{

pszDir[iLen] = '/';

pszDir[iLen + 1] = '\0';

}

// 创建目录

for (i = 0;i < iLen;i ++)

{

if (pszDir[i] == '\\' || pszDir[i] == '/')

{

pszDir[i] = '\0';

//如果不存在,创建

iRet = ACCESS(pszDir,0);

if (iRet != 0)

{

iRet = MKDIR(pszDir);

if (iRet != 0)

{

return -1;

}

}

//支持linux,将所有\换成/

pszDir[i] = '/';

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: