Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: alex19921992 (09.04.2007 в 14:50) посмотрите функцию. она должна искать на диске все файлы, в именах которых встречается слово gus. функция не работает. почему?
int poisk(char* path0) { char *path; path=new char[strlen(path0)+2]; strcpy(path,path0); strcat(path,"*"); path[strlen(path)]='\0'; //MessageBoxA(0,path,"test",0); WIN32_FIND_DATA f; HANDLE s; s=FindFirstFile(path,&f); if(s==INVALID_HANDLE_VALUE || f.cFileName[0]=='.'){ //MessageBox(0,"no files",0,0); delete path; return 0; } while(s){ if(f.cFileName[0]!='.'){ if(f.dwFileAttributes<=23 && f.dwFileAttributes>=16) {//DIRECTORY //MessageBoxA(0,f.cFileName,"dir",0); char*path1; path1=new char[strlen(path0)+strlen(f.cFileName)+3]; strcpy(path1,path0); strcat(path1,f.cFileName); strcat(path1,"\\"); strcat(path1,"\0"); //MessageBoxA(0,path1,"dir",0); poisk(path1); delete path1; } else {//FILE //MessageBoxA(0,f.cFileName,"File",0); if(strstr(f.cFileName,"gus")!=NULL) { char* path2; path2=new char [strlen(path0)+strlen(f.cFileName)+2]; strcpy(path2,path0); //strcat(path2,"\\"); strcat(path2,f.cFileName); strcat(path2,"\0"); MessageBoxA(0,path2,"GUSS!!!",0); //MessageBeep(MB_ICONHAND); delete path2; } } } if(!FindNextFile(s,&f))break; } delete path; return 0; }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: