动画介绍:VC写多线程文件搜索器
先说一下编写这个程序的基本流程原理
这个原理我会给大家的慢慢看!
下面我们来写
FinderEnter开始写这个函数
已经写了很长时间为了节省大家的时间我把剩下的代码补充完整
CFinder::CFinder(int nMaxThread):m_nMaxThread(nMaxThread) //构造函数 { m_nResultCount=0; m_nThreadCount=0; m_szMatchName[0]=’\0’; m_listDir.Construct(offsetof(CDirectoryNode,pNext)); m_hDirEvent=::CreateEvent(NULL,FALSE,FALSE,NULL); m_HExitEvent=::CreateEvent(NULL,FALSE,FALSE,NULL); ::InitializeCriticalSection(&m_cs); }
CFinder::~CFinder() //析构函数 { ::CloseHandle(m_hDirEvent); ::CloseHandle(m_HExitEvent); ::DeleteCriticalSection(&m_cs); }
CFinder::CheckFile(LPCTSTR lpszFileName) //成员函数 { char string[MAX_PATH]; char strSearch[MAX_PATH]; strcpy(string,lpszFileName); strcpy(strSearch,m_szMatchName); _strupr(string); _strupr(strSearch);
if(strstr(string,strSearch)!=NULL) {return TRUE;} return FALSE;
}
Linking... nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex Debug/Find.exe : fatal error LNK1120: 2 unresolved externals
出现这种错误
OK 可以使用
今天教程就到这里 |