遍历一个目录下的所有文件

34 篇文章 0 订阅
30 篇文章 0 订阅

1)怎样使combobox不可写?怎样设置属性?

只要设置 type: drop List

 

2)如何遍历一个目录下的所有文件。

代码:G_CurPath 执行文件的目录,跟执行文件在同一目录下有一个文件夹Transponders,要遍历它里面的所有ini文件。

 

    G_CurPath = G_CurPath+"//"+"Transponders"+"//*.ini";

    HANDLE m_hFind; //保存当查找的位置句柄。
    bool m_bFound; //当前查找是否成功。
    WIN32_FIND_DATA m_FindFileData;//保存当前文件的属性。

    m_hFind = INVALID_HANDLE_VALUE;
    memset(&m_FindFileData,0,sizeof(m_FindFileData));

    m_hFind = ::FindFirstFile(G_CurPath,&m_FindFileData);

    while(m_hFind !=INVALID_HANDLE_VALUE )
    {


        AfxMessageBox(m_FindFileData.cFileName);
        if ( FindNextFile(m_hFind, &m_FindFileData) == false)
        {
            break;
        }
    }

    if (m_hFind != INVALID_HANDLE_VALUE)
    {
        AfxMessageBox("close");
    ::FindClose(m_hFind);
    }

 

3)主要是用FindFirstFile, FindNextFile,  FindClose

函 数 FindFirstFile FindNextFile FindClose 声明如下:
 
WINBASEAPI
__out
HANDLE
WINAPI
FindFirstFileA(
    __in LPCSTR lpFileName,
    __out LPWIN32_FIND_DATAA lpFindFileData
    );
WINBASEAPI
__out
HANDLE
WINAPI
FindFirstFileW(
    __in LPCWSTR lpFileName,
    __out LPWIN32_FIND_DATAW lpFindFileData
    );
#ifdef UNICODE
#define FindFirstFile FindFirstFileW
#else
#define FindFirstFile FindFirstFileA
#endif // !UNICODE
 
WINBASEAPI
BOOL
WINAPI
FindNextFileA(
    __in HANDLE hFindFile,
    __out LPWIN32_FIND_DATAA lpFindFileData
    );
WINBASEAPI
BOOL
WINAPI
FindNextFileW(
    __in HANDLE hFindFile,
    __out LPWIN32_FIND_DATAW lpFindFileData
    );
#ifdef UNICODE
#define FindNextFile FindNextFileW
#else
#define FindNextFile FindNextFileA
#endif // !UNICODE
 
WINBASEAPI
BOOL
WINAPI
FindClose(
    __inout HANDLE hFindFile
    );
 
lpFileName 是目录名称。一般使用通配符。(包括要遍历的那一级的文件名)
lpFindFileData 是找到的文件或目录属性。
hFindFile 是下一个文件或目录的句柄。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值