MFC中遍历当前目录下的文件和文件夹,然后将所有找到的文件夹的名字提取出来

MFC中遍历当前目录下的文件和文件夹,然后将所有找到的文件夹的名字提取出来,第1张

把以下代码放到Win32控制台运行,亲测可用:

#include <windowsh>

#define FILEILTER "" //查找条件,例如查找exe格式的那么就用exe,当然也可以直接用setupexe

#include "iostreamh"

#include "stdioh"

BOOL IsRoot(LPCTSTR lpszPath)

{

TCHAR szRoot[4];

wsprintf(szRoot, "%c:\\", lpszPath[0]);

return (lstrcmp(szRoot, lpszPath) == 0);

}

void FindInAll(LPCTSTR lpszPath)

{

TCHAR szFind[MAX_PATH];

lstrcpy(szFind, lpszPath);

if (!IsRoot(szFind))

lstrcat(szFind, "\\");

lstrcat(szFind, FILEILTER); // 找所有文件

WIN32_FIND_DATA wfd;

HANDLE hFind = FindFirstFile(szFind, &wfd);

if (hFind == INVALID_HANDLE_VALUE) // 如果没有找到或查找失败

return;

do

{

if (wfdcFileName[0] == '')

continue; // 过滤这两个目录

if (wfddwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)

{

TCHAR szFile[MAX_PATH];

if (IsRoot(lpszPath))

wsprintf(szFile, "%s%s", lpszPath, wfdcFileName);

else

{

wsprintf(szFile, "%s\\%s", lpszPath, wfdcFileName);

FindInAll(szFile); // 如果找到的是目录,则进入此目录进行递归

}

}

else

{

TCHAR szFile[MAX_PATH];

if (IsRoot(lpszPath))

{

wsprintf(szFile, "%s%s", lpszPath, wfdcFileName);

}

else

{

wsprintf(szFile, "%s\\%s", lpszPath, wfdcFileName);

printf("%s\n",szFile);

}

// 对文件进行 *** 作

}

} while (FindNextFile(hFind, &wfd));

FindClose(hFind); // 关闭查找句柄

}

int main(int argc, char argv[])

{

FindInAll("E:"); //这里设置目录为E:,请根据需要更改

return 0;

}

代码仅供参考:

定义两个字符串变量,并且声明获取计算机名称和IP的函数GetLocalHostIPName(CString &sLocalName, CString &sIpAddress)。

CString m_strLocalIP; //本机计算机IP  

    CString m_strLocalName; //本机计算机名  

    int GetLocalHostIPName(CString &sLocalName, CString &sIpAddress); //获取本机名称IP

定义函数GetHostName(CString &sLocalName, CString &sAddress)。

char name[128];

gethostname(name, 128);//获得主机名

以上就是关于MFC中遍历当前目录下的文件和文件夹,然后将所有找到的文件夹的名字提取出来全部的内容,包括:MFC中遍历当前目录下的文件和文件夹,然后将所有找到的文件夹的名字提取出来、MFC如何获取自己电脑的IP地址和主机名、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10149550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存