Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154

Отображение списка файлов и папок в каталоге.

07.11.2011, 20:19. Показов 3623. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Некорректно работает программа. Вот кусок кода, отвечающий за вывод списка файлов и папок в папке.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
HANDLE Search;
WIN32_FIND_DATAA FileSearch;
getchar();
gets(di);
strcat(di, "*");
Search=FindFirstFileA(di, &FileSearch);
if(Search==INVALID_HANDLE_VALUE)
{
printf("\nError!");
}
else
{
printf("\n%s", FileSearch.cFileName);
FindNextFileA(Search, &FileSearch);
while(FindNextFileA(Search, &FileSearch)!=FALSE)
{
FindNextFileA(Search, &FileSearch);
printf("\n%s", FileSearch.cFileName);
}
FindClose(Search);
Sleep(1000);
}
Проблема в том, что выводит не все файлы, находящиеся в папке. Например, в папке 0 подпапок и 5 файлов. Выводит только 3 файла. Или, в папке всего 24 объекта, выводит только 20, в том числе, и скрытые. Где зарыты грабли? Уже полдня насилую Visual Studio и никак не могу понять, в чём дело. Может поможет кто-нибудь?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2011, 20:19
Ответы с готовыми решениями:

[masm32] Отображение списка файлов в каталоге
Здравствуйте стоит задача, написать программу на MASM32 ( Отображение списка файлов в каталоге ). С MASM'ом я раньше не сталкивался...

Отображение в ListBox списка найденных файлов и папок
Доброго времени суток. Столкнулся с таким вот отображением(рис.1). если поставить в параметр DisplayMemberPath="Name", то...

Чистка файлов и папок в каталоге 2 уровня
Всем доброго времени суток. Подскажите пожалуйста какой нибудь вариант автоматической чистки подкаталогов. Например есть Папка...

7
Хочу в Исландию
 Аватар для skaa
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
07.11.2011, 20:38
Слишком много FindNextFileA!!! Надо убрать строки 15 и 17, и всё заработает!
1
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
07.11.2011, 20:57  [ТС]
А причем строка 17? Это вроде скобка,открывющая цикл)
0
Хочу в Исландию
 Аватар для skaa
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
07.11.2011, 21:23
Это я опечатался, не 17, а 18 надо убрать.
1
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
07.11.2011, 21:35  [ТС]
Хорошо) спасибо тебе) сегодня уже не проверю-поздно, завтра) ещё вопрос-папка как-то себя выдает? То есть, нужно отличить файл от папки) с атрибутами возиться надо?
0
Хочу в Исландию
 Аватар для skaa
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
07.11.2011, 23:53
Да, надо проверять атрибут.
1
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
08.11.2011, 13:35  [ТС]
Аее!!)Проверил-работает!!И правильно работает!!!)Спасибо вам огромное!!!!!) Переделал немного код, чтобы . и .. не отображались.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
HANDLE Search;
WIN32_FIND_DATAA FileSearch;
getchar();
gets(di);
strcat(di, "*");
Search=FindFirstFileA(di, &FileSearch);
if(Search==INVALID_HANDLE_VALUE)
{
printf("\nError!");
}
else
{
FindNextFileA(Search, &FileSearch);
while(FindNextFileA(Search, &FileSearch)!=FALSE)
{
printf("\n%s", FileSearch.cFileName);
}
FindClose(Search);
Добавлено через 1 час 6 минут
Всплыла еще проблема. В этом коде
C++
1
2
3
4
5
6
7
8
9
10
11
while(FindNextFileA(Search, &FileSearch)!=FALSE)
{
if (FileSearch.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)
{
printf("\n%s", FileSearch.cFileName);
}
else
{
printf("\n!!%s", FileSearch.cFileName);
}
}
почему то папки Users и ProgramFiles стали файлами. О_о. Почему?
0
Хочу в Исландию
 Аватар для skaa
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
08.11.2011, 20:09
Надо проверять так:
C++
1
if (FileSearch.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.11.2011, 20:09
Помогаю со студенческими работами здесь

Поиск файлов и папок в текущем каталоге
Добрый вечер!Нужна программа,которая при ее вызове,переходит в нужную папку(по имени) и выводит список файлов и папок.То есть изначально...

Поиск файлов/папок в заданном каталоге
Всем привет! Подскажите пожалуйста, как осуществить следующие функции: Пользователь задает с клавиатуры путь и имя файла. Необходимо...

Скрипт поиска файлов в каталоге папок
Есть такой скрипт поиска файла в каталоге. function file_search($path, $filename) { if(($dir = opendir($path)) == FALSE) ...

Файловый менджер. Вывод файлов и папок в каталоге
Здравствуйте. Возникла идея в создании файлового менеджера, но я не знаю как можно вывести на экран файлы и папки в нужном каталоге. И...

Где взять описание файлов и папок в каталоге проекта
Где взять описание файлов и папок в каталоге проекта C# ?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru