#include "stdafx.h"
#include "windows.h"
bool listPath(wchar_t *lpszPath);
int _tmain(int argc, _TCHAR* argv[]) {
listPath(_T("Directory here"));
return 0;
}
bool listPath(wchar_t *lpszPath) {
wchar_t szFilePath[MAX_PATH]; /* 遍历路径(正则表达式*.*) */
wchar_t szAllPath[MAX_PATH]; /* 存储具体文件的绝对路径 */
WIN32_FIND_DATA fdFileData; /* 存储文件数据 */
HANDLE hFindFile; /* 文件句柄 */
wsprintf(szFilePath,
_T("%s%s"), lpszPath, _T("\\*.*"));
if((hFindFile = FindFirstFile(szFilePath, &fdFileData))
== INVALID_HANDLE_VALUE) {
printf("Find file failed, Error code:%d\n", GetLastError());
return false;
}
do {
wsprintf(szAllPath,
_T("%s\\%s"), lpszPath, fdFileData.cFileName);
if(!lstrcmp(fdFileData.cFileName, _T("."))) /* 找到的为当前目录. */
continue;
if(!lstrcmp(fdFileData.cFileName, _T("..")))/* 找到的为父目录.. */
continue;
wprintf(_T("%s\\%s\n"), lpszPath, fdFileData.cFileName);
//if(fdFileData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)
//printf("<hidden>\n");
if(fdFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
//printf("<dir>\n");
listPath(szAllPath);
}
printf("\n");
}while(FindNextFile(hFindFile, &fdFileData));
FindClose(hFindFile);
return true;
}
参考页面:http://huangws138.blog.163.com/blog/static/58790621201142843432632/
分享到:
相关推荐
首先,Win32 API是基于C语言的,因此它的函数调用和数据类型都是C风格的。API中的函数涵盖了窗口管理、图形设备接口(GDI)、用户界面、进程与线程管理、内存管理、文件系统操作、网络通信、安全性和系统时钟等多个...
WIN32_FIND_DATA fd; HANDLE hFind = INVALID_HANDLE_VALUE; char szDir[MAX_PATH]; // 将路径加上通配符 _snprintf(szDir, MAX_PATH, "%s\\*", szPathName); if ((hFind = FindFirstFile(szDir, &fd)) == ...
6. **文件操作**:CreateFile、ReadFile和WriteFile是处理文件的基本函数,它们允许读写文件,而FindFirstFile和FindNextFile用于目录遍历。 7. **硬件设备访问**:通过DeviceIoControl函数,开发者可以直接与硬件...
在Windows系统中,这些接口主要由Win32 API组成,它是微软为开发者提供的一个广泛而全面的工具集,涵盖了窗口管理、图形绘制、文件操作、网络通信等多个领域。 一、Windows API的结构 Windows API是由许多动态链接...
3. **内存管理**:WIN32API提供了动态内存分配和释放的函数,如VirtualAlloc分配虚拟内存,VirtualFree释放内存,以及malloc和free等C语言风格的内存管理函数。 4. **文件操作**:CreateFile用于打开或创建文件,...
在C语言中,递归遍历文件夹是一种常见的需求,主要用于搜索、处理文件系统中的文件或目录等场景。递归遍历意味着程序会从一个指定的根目录开始,逐层深入每个子目录,直到遍历完整个目录树为止。本篇文章将详细解析...
它可能还涉及目录遍历和错误处理。 7. **MyPlayer**: 作为音乐播放器,这个程序使用Win32 API和可能的多媒体库(如DirectShow或Windows Media Foundation)来播放音频文件。它可能包括了文件选择对话框、音量控制、...
总的来说,“mysql-connector-c-6.1.6-win32”是Windows 32位环境下连接MySQL数据库的重要工具,它提供了C语言应用程序访问MySQL数据库的桥梁,使得开发者可以充分利用C语言的强大功能进行数据库操作。
要实现这个功能,我们需要理解C语言中的文件I/O操作、字符串处理以及目录遍历。以下将详细介绍如何使用C语言来实现这一功能。 首先,我们需要了解C语言中的文件操作函数。`fopen()`用于打开文件,`fprintf()`用于向...
一个简单的win32工具可能是创建一个控制台程序,用于列出指定目录下的所有文件,使用`FindFirstFile`,`FindNextFile`和`FindClose`等API实现文件遍历。 6. **win32-tools-master项目** "win32-tools-master"可能...
首先,我们需要了解目录遍历的基本原理。在Windows系统中,目录结构是树状的,每个目录可能包含子目录和文件。为了获取一个目录下的所有文件,我们需要从根目录开始,检查其子目录并递归地处理它们。这通常涉及使用...
一般而言,可以使用Windows Management Instrumentation (WMI)来查询系统补丁状态,或者使用`SHGetKnownFolderPath`结合`EnumDirectoryFiles`来遍历`C:\Windows\servicing\Packages`目录下的已安装补丁包。...
C语言本身并不直接支持创建文件夹,但可以通过调用操作系统提供的API函数来实现这一功能。在这个场景中,我们主要会用到`mkdir()`函数或者Windows平台上的`_mkdir()`函数。下面将详细介绍如何使用C语言批量生成...
1. **GUI编程示例**:展示了如何使用Win32 API创建窗口、处理消息、绘制图形、响应用户事件等,如CreateWindow、DispatchMessage等函数的使用。 2. **进程与线程管理**:涵盖了进程的创建、退出、同步以及线程的调度...
MongoDB C驱动程序是用于与MongoDB数据库进行交互的C语言接口,主要针对开发者在Windows 32位环境中构建应用程序时使用。这个“mongo-c-driver-win32-release-staticlib”是一个压缩包,包含了用于静态链接的库文件...
"mongo-c-driver-win32-debug-staticlib"这个标题明确指出了这是一个专为Windows 32位系统设计的C驱动程序,且是debug模式下的静态库版本。在Windows平台,静态库(.lib)将链接到目标程序中,使得程序运行时不再...
3. **链表的实现**:在Windows环境下,可能涉及到Windows API函数,如动态内存分配`malloc()`和`free()`,以及如何在C语言中使用这些函数来管理链表节点的内存。 4. **链表操作**:学习如何在链表头部、尾部和中间...
2. **Win32 API**:这是Windows API的最常见形式,主要由C语言风格的函数组成,用于开发32位和64位Windows应用程序。 3. **函数分类**:API函数可以分为多个类别,如系统管理、文件和I/O、图形设备接口(GDI)、...
3. **处理文件信息**:每次`FindNextFile()`调用成功时,都会返回一个`WIN32_FIND_DATA`结构体,其中包含了文件或目录的详细信息,如文件名、大小、创建时间等。 4. **递归处理子目录**:如果找到的是一个目录,...
QT的Oracle驱动QOCI-for Win32是一款专为在Windows 32位环境下运行的Qt应用程序设计的数据库连接组件。QOCI,全称Qt Oracle Call Interface,是Qt库中的一个部分,它允许开发者通过Qt框架与Oracle数据库进行交互。...