依据文件夹大小停止某进程

根据文件夹大小停止某进程
#define SEARCHFILETYPE "*.*"
#define SYSCONFIG "config.ini"


int g_FileSize = 100;


int getFileSize(string &sFileName)
{
struct stat buf;
int iRet = stat(sFileName.c_str(), &buf);
if (iRet == -1)
return NULL;
return buf.st_size;
}
void getAllFileName(const string& directory, const string& extName){
_finddata_t fileInfo;
intptr_t hFile;
string filter = directory;
if(filter[filter.size()-1] != '//'){
filter.push_back('//');
}
filter += "*.";
filter += extName;
hFile = _findfirst(filter.c_str(),&fileInfo);
if(hFile == -1){
return;
}
do {
string name(fileInfo.name);
string filePath = directory +"\\"+ name;
//cout<<"file :"<<name<<endl;
   //cout<<"filePath :"<<filePath<<endl;
int  FileMaxSize=1024*1024*g_FileSize;//10M
int fSize=getFileSize(filePath);
//cout<<"fSize :"<<fSize<<endl;
if (fSize>FileMaxSize) //如果文件大小超过了10M,需要备份
{
                        cout<<"filePath :"<<filePath<<endl;
system("taskkill /f /im XXX.exe");
}

} while (_findnext(hFile,&fileInfo) == 0);
_findclose(hFile);
}


int _tmain(int argc, _TCHAR* argv[])
{
char buf[1000]="";  
GetCurrentDirectory(1000,buf);  //得到当前工作路径


char path[1024]; 
sprintf(path,"%s\\%s",buf,SYSCONFIG);


char dir[256];
GetPrivateProfileString(_T("config"), _T("TempPath"),_T(""), dir, 256, _T(path));


int sleeptime = GetPrivateProfileInt(_T("config"), _T("Sleep"),10000, _T(path));
    g_FileSize  = GetPrivateProfileInt(_T("config"), _T("FileMaxSize"),100, _T(path));


cout<<"TempPath :"<<dir<<endl;
cout<<"sleeptime :"<<sleeptime<<endl;
cout<<"FileMaxSize :"<<g_FileSize<<endl;
 
while(1)
{
getAllFileName(dir,SEARCHFILETYPE);
Sleep(sleeptime);
}


getchar();



return 0;
}