Форум программистов, компьютерный форум CyberForum.ru

Поиск файлов С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.94
Аллан
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 4
22.05.2011, 17:00     Поиск файлов С++ #1
Помогите плиз поправить код!!! Т.е чтоб прога выводила все текстовики в данном каталоге!!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include<iostream>
#include <windows.h>
#include<cstring>
#include<direct.h>
using namespace std;
 
void FindFiles(char* dir, char* mask){
    WIN32_FIND_DATA FindFileData;
    HANDLE hFind;
    
    char* FullName;
    FullName=new char[MAX_PATH];
            
    char* Flop;
    Flop=new char[MAX_PATH];
    
    char* root;
    root=new char[MAX_PATH];
    
    strcpy(FullName,dir);
    strncat(FullName,"\\",MAX_PATH);
    strncat(FullName,mask,MAX_PATH);
    
    hFind = FindFirstFile(FullName, &FindFileData);
    
//-----ищем все файлы--------------------------------------------------------   
    if (hFind == INVALID_HANDLE_VALUE) 
    { printf ("Invalid File Handle. Get Last Error reports %d\n",GetLastError ());
    
    } else {
 
        do {
             
            if(!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY));
            cout<<FindFileData.cFileName<<endl;
                
        } while (FindNextFile(hFind,&FindFileData));
    
    FindClose(hFind);
    }
    
//-----выполняем рекурсивный вызов-----------------------------------------------
    
        strncpy(Flop,dir,MAX_PATH);
    strncat(Flop,"\\",MAX_PATH);
    strncat(Flop,"*.*",MAX_PATH);
    
    hFind = FindFirstFile(Flop, &FindFileData);
    
    if (hFind == INVALID_HANDLE_VALUE) 
    { cout<<"Handle fail\n";
    
    } else {
 
        do {
            
            if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
                if(FindFileData.cFileName != "." && FindFileData.cFileName != ".."){
                
                  strcpy(root,dir);
                  strncat(root,"\\",MAX_PATH);
                  strncat(root,FindFileData.cFileName,MAX_PATH);
                  strncat(root,"\\",MAX_PATH);
                
                 FindFiles(root,mask);    
                    
                }
        } while (FindNextFile(hFind,&FindFileData));
    
    FindClose(hFind);
    }
   
}
//--------------------------------------------------------------------------------
int main()
{
    char s[10];
    setlocale(0,"Russian");
    cout<<"Введите маску файла\n";
    cin.getline(s,10);
    FindFiles("D:",s);
    cin.get();
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2011, 17:00     Поиск файлов С++
Посмотрите здесь:

поиск файлов C++
Поиск файлов C++
Поиск файлов в директории C++
Поиск всех файлов C++
поиск файлов по строкам C++
C++ Поиск файлов
Поиск тестовых файлов C++
Поиск файлов по расширению C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
22.05.2011, 18:06     Поиск файлов С++ #2
http://www.cyberguru.ru/cpp-sources/...sk-fajlov.html
Аллан
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 4
22.05.2011, 23:01  [ТС]     Поиск файлов С++ #3
спасибо разобрался))
Yandex
Объявления
22.05.2011, 23:01     Поиск файлов С++
Ответ Создать тему
Опции темы

Текущее время: 04:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru