#include<iostream>
#include<windows.h>
#include <string.h>
using namespace std;
//判断一个文件夹是否存在,如果不存在则创建这个文件夹
bool DirExist(const TCHAR *pszDirName)
{
WIN32_FIND_DATA fileinfo;
TCHAR _szDir[_MAX_PATH];
strcpy(_szDir,pszDirName);
int nLen = strlen(_szDir);
if((_szDir[nLen-1] == '//') || (_szDir[nLen-1] == '/'))
{
_szDir[nLen-1] =(char) '/0';//zx
}
HANDLE hFind = ::FindFirstFile(_szDir,&fileinfo);
if(hFind == INVALID_HANDLE_VALUE)
{
return false;
}
if(fileinfo.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
{
::FindClose(hFind);
return true;
}
::FindClose(hFind);
return false;
}
bool CreateDir(const TCHAR *pszDirName)
{
bool bRet = false;
TCHAR _szDir[_MAX_PATH];
TCHAR _szTmp[_MAX_DIR];
int nLen = 0;
int idx;
if((DirExist(pszDirName)) == true)
return true;
strcpy(_szDir,pszDirName);
nLen = strlen(_szDir);
if(_szDir[nLen-1] == '//' || _szDir[nLen-1] == '/')
{
_szDir[nLen-1] = (char)'/0'; //zx
}
nLen = strlen(_szDir);
memset(_szTmp,0,_MAX_DIR);
TCHAR _str[2];
for(idx = 0;idx < nLen;idx++)
{
if(_szDir[idx] != '//')
{
_str[0] = _szDir[idx];
_str[1] = 0;
strcat(_szTmp,_str);
}
else
{
bRet = ::CreateDirectory(_szTmp,NULL);
if(bRet)
{
::SetFileAttributes(_szTmp,FILE_ATTRIBUTE_NORMAL);
}
_str[0] = _szDir[idx];
_str[1] = 0;
strcat(_szTmp,_str);
}
if(idx == nLen-1)
{
bRet = ::CreateDirectory(_szTmp,NULL);
if(bRet)
{
::SetFileAttributes(_szTmp,FILE_ATTRIBUTE_NORMAL);
}
}
}
if(DirExist(_szTmp))
return true;
return false;
}
int main()
{
char Dir[]="F:\\123";
if(false==DirExist("Dir"))//查看F盘下是否存在名为123的文件夹
{
cout<<"not find!"<<endl;
if(true==CreateDir(Dir))//创建123文件夹
cout<<"Create success!"<<endl;
else
cout<<"create failed!"<<endl;
}
else
cout<<"Find it !"<<endl;
system("pause");
return 0;
}判断指定位置是否存在已知名字的文件夹,若不存在,新建一个
C++文件夹创建与检查
最新推荐文章于 2024-12-05 16:19:40 发布
本文介绍了一个使用C++实现的功能,该功能用于检查指定路径的文件夹是否存在,如果不存在,则自动创建该文件夹。代码中包含了两个关键函数:DirExist()用于检查文件夹是否已经存在;CreateDir()用于递归创建文件夹。通过这种方式,可以确保应用程序运行所需的目录结构正确无误。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Linly-Talker
AI应用
Linly-Talker是一款创新的数字人对话系统,它融合了最新的人工智能技术,包括大型语言模型(LLM)、自动语音识别(ASR)、文本到语音转换(TTS)和语音克隆技术
1680

被折叠的 条评论
为什么被折叠?



