Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/50: Рейтинг темы: голосов - 50, средняя оценка - 4.88
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
1

Чтение директории

17.08.2009, 08:57. Просмотров 9914. Ответов 14
Метки нет (Все метки)

Киньте пример на "чистом" C++ чтения директории.
Т.е. надо прочесть директорию, записать все имена файлов и поддиректорий в массив записей. Запись состоит из двух полей - строка с именем и поле с флагами.

Ключевая проблема - как отличать файлы от директорий.

Ну и до кучи - отличить файл от устройства, прочитать атрибуты/права, владельца и т.п.

Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2009, 08:57
Ответы с готовыми решениями:

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

Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление)
Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В...

Переделать в коде чтение из файла в чтение с клавиатуры
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл...

Image чтение директории файла из*.txt
есть текстовый файл в нём записана директория картинки через диалог . Нужно вывести картинку, при...

14
Заблокирован
Автор FAQ
17.08.2009, 09:48 2
https://www.cyberforum.ru/win-... post236915
Исходник моего командера, там всё найдёшь...
1
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
17.08.2009, 10:58  [ТС] 3
Цитата Сообщение от zim22 Посмотреть сообщение
skvor, открой для себя 7-Zip
Да вот он чёт не все RAR-ы берёт..., скажем так - "очень редко".
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
17.08.2009, 11:23 4
Цитата Сообщение от skvor Посмотреть сообщение
Да вот он чёт не все RAR-ы берёт...,
в GCC баги, 7-zip плохо работает. паранойя?
0
4845 / 3266 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
17.08.2009, 11:36 5
Ключевая проблема - как отличать файлы от директорий.
http://msdn.microsoft.com/en-u... S.85).aspx

http://msdn.microsoft.com/en-u... S.85).aspx

там ещё много всякой инфы в окрестностях
главное:
отличать - через флажок
читать список через find какой-то
0
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
17.08.2009, 12:20  [ТС] 6
Спасибо, но это как-то хреново похоже на "чистый" C++
C++
1
2
3
4
HANDLE WINAPI FindFirstFile(
  __in   LPCTSTR lpFileName,
  __out  LPWIN32_FIND_DATA lpFindFileData
);
0
Заблокирован
Автор FAQ
17.08.2009, 12:26 7
Файлы отличаются от директорий таким образом
C++
1
if(dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
где dwFileAttributes это поле в структуре WIN32_FIND_DATA

Функции поиска фалов FindFirstFile, FindNextFile...
А вот исходник в zip-e
0
Вложения
Тип файла: zip fexpl_3.0_zip.zip (26.5 Кб, 102 просмотров)
554 / 508 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
17.08.2009, 13:00 8
привыкайте работать с первоисточниками:

http://msdn.microsoft.com/en-u... S.85).aspx
0
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
17.08.2009, 13:09  [ТС] 9
Всем спасибо, но обращаю ещё раз на "чистый" C++.
Т.е. мне нужен пример только на стандартных библиотеках, а НЕ под Виндуз
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
17.08.2009, 13:18 10
Цитата Сообщение от skvor Посмотреть сообщение
Т.е. мне нужен пример только на стандартных библиотеках,
стандартные библиотеки не умеют работать с директориями. они обращаются к API операционной системы. можешь boost.filesystem использовать.
1
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
17.08.2009, 13:46  [ТС] 11
Цитата Сообщение от zim22 Посмотреть сообщение
стандартные библиотеки не умеют работать с директориями.
спасибо, вот я обламался
А есть "нестандартные" библиотеки для *nix-ов/POSIX, что б с директориями работать как с потоками?
А то как-то нелогично - с файлами работать через C++, а для директорий - как Неандертальцы на C.
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
17.08.2009, 13:56 12
Цитата Сообщение от skvor Посмотреть сообщение
А есть "нестандартные" библиотеки
boost.filesystem
он инкапсулирует обращения к API OC.
1
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
17.08.2009, 14:39  [ТС] 13
Цитата Сообщение от zim22 Посмотреть сообщение
boost.filesystem
- спасибо
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
17.08.2009, 17:41 14
с файлами работать через C++
Это всего лишь обертка поверх функций C, которые в свою очередь являются вызовами syscall-ов ОС.
для директорий - как Неандертальцы на C
Никто не сделал стандартной обертки на C++, есть только стандартная из C.

Для UNIX посмотри функции opendir, readdir, readdir_r, telldir, seekdir, rewinddir, closedir.

Добавлено через 1 минуту 30 секунд
Кстати и под Windows эти функции по идее должны быть тоже.
0
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
17.08.2009, 17:55  [ТС] 15
Цитата Сообщение от odip Посмотреть сообщение
Для UNIX посмотри функции opendir, readdir, readdir_r, telldir, seekdir, rewinddir, closedir.
Таки в том и дело, что это C.
Ну, в общем меня уже направили на путь ...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2009, 17:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверка прав доступа (чтение/запись) в директории
Нужно проверить, доступна ли данная директория (к примеру "D:\\readonly_folder\") для записи/чтения...

Вывести в консоль все файлы и директории, какие есть в текущей директории
вывести в консоль все файлы и директории какие есть в текущей директории. подскажите пожалуйста...

Добавление Include-директории и Lib-директории в проект VS2010
Здравствуйте. У меня возникла следующая проблема: Решил поучится в использовании библиотек...

Чтение бинарного файла - чтение первых 9 байт
Есть код, который читает первые 9 байт бинарного файла(заголовок записи) void...

Чтение файла CSV и чтение из Table View
Здравствуйте, задача считать столбцы и строки excel в TextEdit. Прошу помощи в реализиции. ...

Чтение файла с системной директории
Помогите с чтением файла с системной директории: /dev/input/event0 Пробовал по всякому так: ...


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

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

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