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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.94
Аллан
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 4
#1

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

22.05.2011, 17:00. Просмотров 4805. Ответов 2
Метки нет (Все метки)

Помогите плиз поправить код!!! Т.е чтоб прога выводила все текстовики в данном каталоге!!!

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;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2011, 17:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск файлов С++ (C++):

Поиск файлов - C++
Помогите хотя бы в теории понять, возможен ли поиск файлов без использования функций библиотеки windows.h вообще, и как его можно...

Поиск файлов - C++
Вот решил перейти к изучению C++ после Delphi, интерисует как найти все файлы в папке :) Готовый код или ссылки, буду рад всему :)

поиск файлов по строкам - C++
Привет всем! Мне нужно решить следующую задачу: Найти первый файл в каталоге папок, удовлетворяющий заданной маске и содержащий...

Поиск файлов в Windows на С++ - C++
Здравствуйте, заранее прошу прощения, если неправильно выбрал тематику. Написал собственный поисковик, пускай и не идеальный. Вопрос...

Поиск файлов по расширению - C++
Надо написать консольное приложение, где входными данными были бы путь к каталогу и расширения файлов, которых мы ищем. Внутри каталога...

Поиск всех файлов - C++
Здравствуйте Задача кода найти все файлы в папке,для их дальнейшего использования Код такой: #define _WIN32_WINNT 0x0400 ...

2
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
22.05.2011, 18:06 #2
http://www.cyberguru.ru/cpp-sources/...sk-fajlov.html
0
Аллан
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 4
22.05.2011, 23:01  [ТС] #3
спасибо разобрался))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2011, 23:01
Привет! Вот еще темы с ответами:

Поиск файлов в директории - C++
Добрый день. Что прошу: Есть exe, при запуске он должен найти все папки в этой директории и скопировать себя в них. С помощью чего...

Поиск файлов в директории - C++
Привет всем! Я хочу получить все файлы в какой-либо директории, но у меня не работает этот код: finddata_t data; intptr_t res =...

Поиск тестовых файлов - C++
Возник такой вопрос: можно ли написать программу, которая будет искать в папке текстовые файлы и выводить их названия на экран. Если можно,...

Поиск файлов в директории - C++
Интересно, как можно реализовать вывод всех файлов, которые есть в данной директории? Например, одного формата? Ибо сейчас, при...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru