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

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

07.11.2011, 20:19. Показов 3609. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru