详解C++循环创建多级目录及判断目录是否存在的方法
发布时间:2020-12-16 05:36:19 所属栏目:百科 来源:网络整理
导读:C++循环创建多级目录 #include "unitfiles.h" #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 ac
C++循环创建多级目录 #include "unitfiles.h" #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 int CreatDir(char *pszDir) { int i = 0; int iRet; int iLen = strlen(pszDir); //在末尾加/ if (pszDir[iLen - 1] != '' && pszDir[iLen - 1] != '/') { pszDir[iLen] = '/'; pszDir[iLen + 1] = ' '; } // 创建目录 for (i = 0;i <= iLen;i ++) { if (pszDir[i] == '' || pszDir[i] == '/') { pszDir[i] = ' '; //如果不存在,创建 iRet = ACCESS(pszDir,0); if (iRet != 0) { iRet = MKDIR(pszDir); if (iRet != 0) { return -1; } } //支持linux,将所有换成/ pszDir[i] = '/'; } } return 0; } 根据别人的结果进行了修改,需要注意的问题是参数不是const的,因此可以进行修改。 C++判断指定目录是否存在 bool IsDirExist(string filename) { size_t len = filename.length(); if(filename[len-1] != '/' && filename[len-1] != '') filename.append("/"); filename.append("000.tmp"); ofstream outf(filename.c_str()); bool flag = outf; if(outf) { outf.close(); remove(filename.c_str()); } return flag; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在SQLite中连接三个表的最佳方法
- aws-sdk – 用于创建带结果的AWSTask的Swift 3语法是什么?
- XStream 去除生成的XML节点的class="XXX"
- 正则表达式 – 是否可以可靠地确定给定的正则表达式是否匹配
- c – 难以理解链表实现(结构部分)?
- 从一个正则表达式造成的StackOverflowError说起
- ruby-on-rails – 如何使用Simple Form创建交互式表单?
- XPath查询XML节点,冒号在节点名称中
- ruby – 如何使用Nginx,Passenger,Sinatra创建多个位置
- 有没有办法将Ruby Net :: HTTP请求附加到特定的IP地址/网络