詳解C++循環(huán)創(chuàng)建多級(jí)目錄及判斷目錄是否存在的方法
更新時(shí)間:2016年03月12日 15:05:10 作者:mafuli007
這篇文章主要介紹了C++循環(huán)創(chuàng)建多級(jí)目錄及判斷目錄是否存在的方法,文中代碼有一個(gè)針對(duì)各種系統(tǒng)進(jìn)行判斷來(lái)加載不同頭文件的方法,需要的朋友可以參考下
C++循環(huán)創(chuàng)建多級(jí)目錄
#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] = '\0';
}
// 創(chuàng)建目錄
for (i = 0;i <= iLen;i ++)
{
if (pszDir[i] == '\\' || pszDir[i] == '/')
{
pszDir[i] = '\0';
//如果不存在,創(chuàng)建
iRet = ACCESS(pszDir,0);
if (iRet != 0)
{
iRet = MKDIR(pszDir);
if (iRet != 0)
{
return -1;
}
}
//支持linux,將所有\(zhòng)換成/
pszDir[i] = '/';
}
}
return 0;
}
根據(jù)別人的結(jié)果進(jìn)行了修改,需要注意的問(wèn)題是參數(shù)不是const的,因此可以進(jìn)行修改。
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;
}
相關(guān)文章
C++實(shí)現(xiàn)將數(shù)據(jù)寫(xiě)入Excel工作表的示例代碼
直觀(guān)的界面、出色的計(jì)算功能和圖表工具,使Excel成為最流行的個(gè)人計(jì)算機(jī)數(shù)據(jù)處理軟件。在本文中,您將學(xué)習(xí)如何使用?Spire.XLS?for?C++?創(chuàng)建?Excel?文檔,以及如何將數(shù)據(jù)寫(xiě)入?Excel?工作表2023-03-03
C語(yǔ)言多維數(shù)組數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)詳解
對(duì)于數(shù)組想必大家都不陌生首先得要知道的是對(duì)于數(shù)組元素在內(nèi)存存儲(chǔ)是連續(xù)性的,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言多維數(shù)組數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2021-12-12
VS2019創(chuàng)建C++工程的的實(shí)現(xiàn)步驟
本文主要介紹了VS2019創(chuàng)建C++工程步驟,包含新建項(xiàng)目、編輯文件、配置源文件目錄、編譯鏈接、輸出文件、設(shè)置斷點(diǎn)調(diào)試,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12
C++中constexpr與函數(shù)參數(shù)轉(zhuǎn)發(fā)的操作方法
constexpr是c++11引入的關(guān)鍵字,c++11的constexpr的函數(shù)中只是支持單句代碼,c++14限制放寬,可以在里邊寫(xiě)循環(huán)及邏輯判斷等語(yǔ)句,本文探討關(guān)于constexpr的函數(shù)中參數(shù)的現(xiàn)象,以及如果參數(shù)是constexpr如何做轉(zhuǎn)發(fā),感興趣的朋友一起看看吧2024-02-02

