文件遍历和注册表遍历的问题 如何在Vc++下实现文件遍历和注册表遍历用哪个类的方法,给段代码讲一讲。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFileFind类可以实现你的要求,参照msdn看看就OK了 以下是文件遍历的例子:#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"); } 注册表??哦,还有这个哦,你自己先研究一下注册表的结构,然后从根键值开始遍历就是了啊很简单的,看看RegOpenKey,RegOpenKeyEx,RegQueryValue,RegQueryValueEx 不知道 broadoceans(broadoceans) 给的例子是不是MSDN上那个,我记得那个遇到空目录会死循环的 记得用的时候判断一下 http://titilima.nease.net/article/bianli.htm RegEnumKeyEx()就可以实现遍历的过程,具体代码就不详述了 VC开发ActiveX控件问题 界面开发用的host 是指什么 请问怎样发布VC2005开发的程序 rivermonitor加载WDM出现问题!!! 如何取得combo box中所选定的内容? 请我srand(time(0))和srand((unsigned)time(NULL))的区别????请执教! 请问用API如何控制串口发送数据? 求一算法:在大文件里快速查找、替换字符串 在我的帖子上别人回答的问题,怎么又全给我发到了我的电子信箱里去了 高分求教!InstallShield怎样实现光盘自启动! 有关模式对话框的问题 新建类出现了问题,特求教各位高手!!
#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");
}
很简单的,看看RegOpenKey,RegOpenKeyEx,RegQueryValue,RegQueryValueEx
就可以实现遍历的过程,具体代码就不详述了