
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[34.225.194.102] |
![]() |
|
Сообщ.
#1
,
|
|
|
QDir, QFileSystemModel - не дают информации.
|
Сообщ.
#2
,
|
|
|
Насколько я знаю Qt не имеет никакого отношения к файловой системе.
А размер свободного места можно определить так ![]() ![]() /** * get_fs_free - Определяет свободное место на ФС. * @param anyfile Путь к любому файлу на этой ФС. * @return Размер ФС в блоках. */ long get_fs_free(const char *anyfile) { struct statfs buf; statfs(anyfile, &buf); return buf.f_bfree; } |
Сообщ.
#3
,
|
|
|
Цитата macomics @ Дык это не решение. Размер блока неизвестен. Проще уж анализироовать вывод команды df. |
Сообщ.
#4
,
|
|
|
Ссылку до конца прочитать не захотели как в прошлый раз.
Там в конце приводят функцию возвращающую размер блока. ![]() ![]() #include <sys/stat.h> size_t blksize(const char *anyfile) { struct stat st; stat(anyfile, &st); return st.st_blksize; } |
Сообщ.
#5
,
|
|
|
Нет смысла возиться с размерами блока и сторонними функциями.
df с указанием размера блока 1 байт - показывает свободное место в байтах. |
Сообщ.
#6
,
|
|
|
Цитата Сергей85 @ QDir, QFileSystemModel - не дают информации. Начиная с 5.4 появился класс QStorageInfo. Для получения переносимого кода, думаю, нужно залезть в исходники 5.4 и "забрать" себе нужное. |