-829 / 16 / 0
Регистрация: 22.09.2015
Сообщений: 901
|
|
1 | |
Свой класс для работы с диском23.01.2022, 10:26. Показов 1215. Ответов 32
Метки нет (Все метки)
Для упрощения работы с диском и файлами хочу написать свой класс.
Есть разные способы сканирования директории и работы с файлами. Возникает вопрос какой способ лучше выбрать. Я не сторонник подключения сторонних библиотек. Склоняюсь к использованию opendir()/readdir()/closedir() (POSIX) это может работать как в linux так и в windows, мало документации Для windows конечно можно использовать FindFirstFile()/FindNextFile()/FindClose() (Windows) что более удобно, есть документация Что посоветуете? Может дадите ссылочку на подробную документацию для работы с диском и файлами в POSIX, для меня этот способ по моему более актуален.
0
|
23.01.2022, 10:26 | |
Ответы с готовыми решениями:
32
Свой класс для работы с constexpr Зачем в С++ реализуют свой класс для работы со строками? Нужна программа для работы с жестким диском Посоветуйте хорошую portable-программу для работы с жестким диском |
Croessmah
|
23.01.2022, 18:05
Свой класс для работы с диском
#21
|
0
|
-829 / 16 / 0
Регистрация: 22.09.2015
Сообщений: 901
|
|
23.01.2022, 20:02 [ТС] | 22 |
Вот честно я с радостью бы стал использовать готовое решение, если оно удобно в реализации, хорошо документировано с примерами и главное работало. В данном случае filesystem конечно по описанию и примерам очень не плох, я бы его использовал. Но он у меня не компилируется, другого компилятора нет, пробовал скачивать\устанавливать другие, с ними ещё больше проблем..
Короче буду использовать closedir, opendir, readdir, rewinddir, findfirst, findnext и <fstream> для работы с файлами Есть две проблемы: 1) при opendir, readdir получаю содержимое директории, файлы и папки всё в кучу, нужен способ определения где файл, а где директория тут конечно можно сказать, что проверять есть ли расширение *.txt к примеру, но некоторые директории могут иметь точку, поэтому этот вариант отпадает 2) нужно получить информацию о файле: размер, время создания\модификации; атрибуты: скрытый, для чтения и др. Как это сделать с учётом что не будет использоваться никаких filesystem и прочего?
0
|
-829 / 16 / 0
Регистрация: 22.09.2015
Сообщений: 901
|
|
23.01.2022, 20:31 [ТС] | 24 |
Вашими молитвами нашёл пример
0
|
-829 / 16 / 0
Регистрация: 22.09.2015
Сообщений: 901
|
|
23.01.2022, 21:24 [ТС] | 26 |
Ещё как попадает, максимум используется Сишный заголовок #include<sys\stat.h>
0
|
-829 / 16 / 0
Регистрация: 22.09.2015
Сообщений: 901
|
|
23.01.2022, 22:13 [ТС] | 28 |
С таким же успехом на под linux это не будет работать, а мне нужна кроссплатформенность тоже
0
|
250 / 184 / 46
Регистрация: 31.01.2021
Сообщений: 934
|
|
24.01.2022, 01:58 | 29 |
pgb Функция stat может определить файл это или директорий. По расширению не надо определять.
0
|
-829 / 16 / 0
Регистрация: 22.09.2015
Сообщений: 901
|
|
24.01.2022, 11:46 [ТС] | 30 |
Информация по stat может кому пригодится https://ru.manpages.org/lstat/2
0
|
zayats80888
|
24.01.2022, 12:28
Свой класс для работы с диском
#33
|
Не по теме: Может его с ЕПЗ свести? Тот будет генерировать гениальные идеи, это будет их гениально реализовывать. Идеальный симбиоз, который потрясёт мир IT (исли они за "хлеб" не подерутся).
0
|
24.01.2022, 12:28 | |
Для каждой кнопки свой класс В свой div свой текст, класс один и тот же Класс: создать класс Fraction для работы с дробными числами Класс: Создать класс Rational для работы с рациональными дробями. Класс: создать класс Fraction для работы с дробными числами Создать класс Decimal (Класс для работы со знаковыми целыми десятичными числами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |