windows客户端开发--判断一个文件夹中是否存在文件夹
来源:互联网 发布:tensorflow mnist 例子 编辑:程序博客网 时间:2024/05/17 07:28
我们做windows客户端,往往需要与文件夹打交道。
比如说某些特定的情况下,我们需要删除某个文件夹的子文件夹的全部内容。有时候程序执行的比较慢,我们需要判断到底是否删除了文件夹下的子文件夹呢?
换种思维,如果我们能计算出某个文件下下有多少个子文件夹呢?
FindFirstFile
函数功能描述:查找指定目录的第一个文件或目录并返回它的句柄
HANDLE FindFirstFile( LPCTSTR lpFileName, // 目录名 LPWIN32_FIND_DATA lpFindFileData // 数据缓冲区 );
参数:
lpFileName
[输入] 指向字符串的指针用于指定一个有效的目录。
lpFindFileData
[输出] 指向一个WIN32_FIND_DATA的指针,用于存放找到文件或目录的信息。
返回值:
如果成功,则返回找到文件或目录的句柄。在FindNextFile和FindClose函数中会用到此句柄。
如果失败,返回INVALID_HANDLE_VALUE。要获得更多的信息调用GetLastError函数。
_WIN32_FIND_DATA
typedef struct _WIN32_FIND_DATA
{
DWORD dwFileAttributes; // 文件属性
FILETIME ftCreationTime; // 文件创建时间
FILETIME ftLastAccessTime; // 文件最后一次访问时间
FILETIME ftLastWriteTime; // 文件最后一次修改时间
DWORD nFileSizeHigh; // 文件长度高32位
DWORD nFileSizeLow; // 文件长度低32位
DWORD dwReserved0; // 系统保留
DWORD dwReserved1; // 系统保留
TCHAR cFileName[ MAX_PATH ]; // 长文件名
TCHAR cAlternateFileName[ 14 ]; // 8.3格式文件名
}WIN32_FIND_DATA, *PWIN32_FIND_DATA;
FindNextFile
判断当前目录下是否有下一个目录或文件
有了上面的基础,我们就可以写出代码了,计算指定路径下文件夹的个数。
等等,如果判断文件还是文件夹呢?
FILE_ATTRIBUTE_DIRECTORY
这个时候就可以写出完整的了:
int CountTotalFoldersInDirectory(std::wstring& path){ size_t len = _tcslen(path.c_str()); const size_t alloc_len = len + 3; TCHAR* sub_wild = new TCHAR[alloc_len]; _tcscpy_s(sub_wild, alloc_len, path.c_str()); if (len && sub_wild[len - 1] != _T('\\')) { sub_wild[len++] = _T('\\'); } sub_wild[len++] = _T('*'); sub_wild[len++] = _T('\0'); // File enumeration starts here WIN32_FIND_DATA fd; HANDLE hfind; int count = 0; if (INVALID_HANDLE_VALUE != (hfind = FindFirstFile(sub_wild, &fd))) { do { if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { // is_alias_dir is true if directory name is "." or ".." const bool is_alias_dir = fd.cFileName[0] == _T('.') && (!fd.cFileName[1] || (fd.cFileName[1] == _T('.') && !fd.cFileName[2])); count += !is_alias_dir; } } while (FindNextFile(hfind, &fd)); FindClose(hfind); } delete[] sub_wild; return count;}
- windows客户端开发--判断一个文件夹中是否存在文件夹
- iOS中判断一个文件夹是否存在
- C# Visual Studio 2005中判断一个文件夹是否存在
- .net 判断一个文件夹中是否存在文件
- 判断文件夹是否存在
- 判断文件夹是否存在
- 判断文件夹是否存在
- vc判断文件夹是否存在,及创建一个文件夹
- 判断文件夹是否存在,及创建一个文件夹
- 判断文件夹是否存在,及创建一个文件夹
- Python 中判断是否存在文件夹
- Java 判断文件夹是否存在、创建文件夹
- Java 判断文件夹是否存在、创建文件夹
- c 判断文件夹是否存在,创建文件夹
- Java 判断文件夹是否存在、创建文件夹
- Java 判断文件夹是否存在、创建文件夹
- Java 判断文件夹是否存在、创建文件夹
- vba 创建文件夹 判断文件夹是否存在
- 虚析构函数 和 纯虚析构函数
- 深度学习之Softmax回归
- 1011
- 修改 Linux 主机名
- spring原理
- windows客户端开发--判断一个文件夹中是否存在文件夹
- Opencv中的webCam
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- Linux下利用scandir判断是目录还是文件详解
- 第六周项目2——带武器的游戏角色
- 网络编程总结(一)
- 201645
- 欢迎使用CSDN-markdown编辑器
- 新排序