Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72

Поиск в папках и подпапках

11.12.2016, 13:43. Показов 7101. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С помощью функции findfirstfile,реализовал поиск файлов...
Но почему то функция только находит папки на диске C..
А как реализовать поиск по всему диску и по всем папкам на диске...
Надо структуру атрибуты проверять?
Пример findfirst ...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.12.2016, 13:43
Ответы с готовыми решениями:

Поиск в папках и подпапках
Здравствуйте! Делаю курсовую на VBA и к сожалению только на нём. По моей задумке мне надо вывести в файл все файлы и папки, а так же все...

Поиск файлов в папках и подпапках
Что неправильно в коде? Вобщем есть функция func(path, find), с помощью которой пытаюсь найти файл в папках и подпапках. static...

Поиск файлов в папках и подпапках
Здравствуйте! Есть задача, в которой необходимо выполнить вход во все папки и подпапки некой начальной директории. Для этого я решил...

34
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
19.12.2016, 23:01
Студворк — интернет-сервис помощи студентам
Grushkin, какой у Вас установлен уровень предупреждений ?
Миниатюры
Поиск в папках и подпапках  
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72
20.12.2016, 15:01  [ТС]
Уровень предупреждений уровень3(/W3)
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
20.12.2016, 16:08
Цитата Сообщение от Igor-84 Посмотреть сообщение
Visual Studio и C++Builder с удовольствием "проглотили" этот код. Вот проект на VS2010
Igor-84, в более поздних версиях Visual Studio это является ошибкой. В зависимости от версии (и возможно, от настроек компилятора)
warning C4996: 'strcpy': This function or variable may be unsafe.
error C4996: 'strcpy': This function or variable may be unsafe
См. также Выдает ошибку: error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
0
 Аватар для Igor-84
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
20.12.2016, 16:15
Цитата Сообщение от Alex5 Посмотреть сообщение
Igor-84, в более поздних версиях Visual Studio это является ошибкой. В зависимости от версии (и возможно, от настроек компилятора)
Ну, одно из решений этой проблемы я уже предложил ТС'у.
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72
20.12.2016, 16:33  [ТС]
Следовал вашим советам.Программа запускается,но падает в бесконечный цикл...
0
 Аватар для Igor-84
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
20.12.2016, 17:22
Grushkin, ты проект то тестовый скачал?
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72
20.12.2016, 20:19  [ТС]
вообщем скачал ...На _tprintf ругался,я вывожу через cout(сиаут)
Не запускается проект...

C++
1
Ошибка    1   error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
0
 Аватар для Igor-84
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
20.12.2016, 21:13
Цитата Сообщение от Grushkin Посмотреть сообщение
На _tprintf ругался,я вывожу через cout(сиаут)
Так надо ж подключать нужные модули, чтобы не ругался...
Цитата Сообщение от Grushkin Посмотреть сообщение
Не запускается проект...
Цитата Сообщение от Grushkin Посмотреть сообщение
C++
Ошибка 1 error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
Если ошибка остаётся, значит не там написал: #define _CRT_SECURE_NO_WARNINGS;
Ещё, как вариант, "Уровень предупреждений": Выключить.
Ещё, вариант - вместо strcpy используй strncpy. В конце-концов можно и string использовать, тогда не будет необходимости в strcpy.
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72
21.12.2016, 10:08  [ТС]
Что бы использовать строку string...переменную создать типа стринг???

Например : string s ;

Использовать так s+ (new_path, init_dir); ???

Добавлено через 10 минут
C++
1
Ошибка    1   error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup  C:\Users\******\Documents\Visual Studio 2013\Projects\ConsoleApplication4\ConsoleApplication4\MSVCRTD.lib(crtexe.obj)   ConsoleApplication4
Это что за ошибка ???
0
 Аватар для Igor-84
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
21.12.2016, 12:19
Цитата Сообщение от Grushkin Посмотреть сообщение
Что бы использовать строку string...переменную создать типа стринг???
Да.
А че это вы здесь делаете, а? ©
Цитата Сообщение от Grushkin Посмотреть сообщение
s+ (new_path, init_dir);
Grushkin, это же всё базовые вещи. Как давно ты изучаешь c++?
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72
21.12.2016, 13:07  [ТС]
Изучаю около 3х месяцев,
Сложновато когда не знаешь...

Добавлено через 6 минут
И всё же ,при запуске выскакивает Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup...Стоит одну проблему решить ,как появляется другая ...
0
 Аватар для Igor-84
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
21.12.2016, 13:10
Попробуй открыть этот проект: ListFiles.rar
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72
21.12.2016, 13:13  [ТС]
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
#include <stdio.h>
#include <iostream>
#include <windows.h>
#include <locale>
 
using namespace std;
 
void ListFiles(char *init_dir)
{
    string s = " ";
    char path[MAX_PATH];
    s+(path, init_dir);
    s+(path, "");
 
    WIN32_FIND_DATA FindData;
 
    setlocale(LC_ALL, "Russian");//Кодировка для вывода читабельности
 
    HANDLE file = FindFirstFile(path, &FindData);//Запускается поиск файлов
 
    if (file == INVALID_HANDLE_VALUE)
    {
        cout <<"FindFirstFile failed \n";
        
    }
    else//Если файлы есть и без ошибок
    {
        do
        {
            if (strcmp(FindData.cFileName, ".") != 0 && strcmp(FindData.cFileName, "..") != 0)
            {
                if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
                {
                    cout<<FindData.cFileName;
                    char new_path[MAX_PATH];
                    s+ (new_path, init_dir);
                    s+ (new_path, "");
                    s + (new_path, FindData.cFileName);
                    ListFiles(new_path);
                }
                else
                {
                    cout<<FindData.cFileName;//Выводим список найденных файлов
                }
            }
        } while (FindNextFile(file, &FindData) != 0);//Пока есть файлы,продолжаем поиск
    }
 
    FindClose(file);//Закрываем поиск файлов
}
 
int main()
{
    char initdir[MAX_PATH];
    ListFiles("c:");
 
    system("pause");
    return 0;
}
Всё запускается ,работате..Но уже просто выкидывает ошибку из программы ,FindFirstFile Failed...
C++
1
2
if (file == INVALID_HANDLE_VALUE)
{cout <<"FindFirstFile failed \n";}
0
 Аватар для Igor-84
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
21.12.2016, 13:53
Цитата Сообщение от Grushkin Посмотреть сообщение
Всё запускается ,работате..Но уже просто выкидывает ошибку из программы ,FindFirstFile Failed...
Что-то не пойму. Я прислал тебе готовый пример с использованием string. Ты же пишешь, что не работает и приводишь код с использованием char.
1
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 72
21.12.2016, 16:21  [ТС]
Большое спасибо)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.12.2016, 16:21

Поиск файлов в папках и подпапках
Подскажите как сделать поиск папок и под папках? Для поиска папок делаю так: static string sd =...

Поиск файла в папках и подпапках
Я так понял эта тема не очень популярна, т.е. так-то похожих вопросов кучу задают на форуме, только никто не отвечает. Итак, суть вопроса...

Поиск xml файлов в папках и подпапках. C#
(Первый скрин) Есть форма, первая кнопка выбирает путь к xml файлу. Нужно чтобы выбирала путь к ПАПКЕ. Сейчас там прописан такой код:...

Поиск по имени файла в папках и подпапках
Доброго времени суток! Народ, хэлпните, плиз. Требуется функция, которая бы брала из пременной имя файла и искала его в конкретной...

Поиск в файлах в папках и подпапках. Выуживание информации
Есть похожие темы на форуме, но тут свой нюанс. Интересует такой момент: Возможно ли реализовать в &quot;батнике&quot; поиск информации в...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж» Уважаемые коллеги! Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru