如何在Vc++下实现文件遍历和注册表遍历
用哪个类的方法,给段代码讲一讲。谢谢

解决方案 »

  1.   

    CFileFind类可以实现你的要求,参照msdn看看就OK了
      

  2.   

    以下是文件遍历的例子:
    #include <OAIDL.H>
    #include <io.h>
    #include <string.h>
    #include <stdio.h>void searchfile(char *path, char *filename)
    {
    char szPath[256] = {0};
    char outfile[256] = {0};
    struct _finddata_t file;
        long hFile;
        strcpy(szPath, path);
    strcat(szPath, "\\*.*");
    if( (hFile = _findfirst( szPath, &file ) ) == -1L )
    {
    _findclose( hFile );
    return ;
    } do
    {
    if ( (strcmp(file.name, ".") != 0 ) &&
         (strcmp(file.name, "..") != 0) ) {
    if(file.attrib & _A_SUBDIR)  // 搜索子目录
    {
    strcpy(szPath, path);
    strcat(szPath, "\\");
    strcat(szPath, file.name);
    searchfile(szPath, filename);
    }
    else
    {
    if(!strcmp(file.name, filename)) //搜索到的文件名,显示出来。如果filename是*.doc等含有通配符,需要自己编程进行匹配
    {
    strcpy(outfile, path);
    strcat(outfile, "\\");
    strcat(outfile, file.name); printf("%s\n",outfile);
    } }
    }
    }while( _findnext(hFile,&file) == 0);     _findclose( hFile );  
    }void main(void)
    {
      searchfile("c:", "mview.exe");
    }
      

  3.   

    注册表??哦,还有这个哦,你自己先研究一下注册表的结构,然后从根键值开始遍历就是了啊
    很简单的,看看RegOpenKey,RegOpenKeyEx,RegQueryValue,RegQueryValueEx
      

  4.   

    不知道 broadoceans(broadoceans) 给的例子是不是MSDN上那个,我记得那个遇到空目录会死循环的 记得用的时候判断一下
      

  5.   

    http://titilima.nease.net/article/bianli.htm
      

  6.   

    RegEnumKeyEx()
    就可以实现遍历的过程,具体代码就不详述了