c++ 创建文件夹 跨平台

来源:互联网 发布:软件,程序,文件 编辑:程序博客网 时间:2024/06/05 01:08

最近因为项目原因,需要写一个根据路径字符串创建目录的函数,需要支持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;}



0 0
原创粉丝点击