На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Qt v.5.3, Linux. Как узнать размер свободного места на диске?
    QDir, QFileSystemModel - не дают информации.
      Насколько я знаю Qt не имеет никакого отношения к файловой системе.
      А размер свободного места можно определить так
      ExpandedWrap disabled
        /**
         * get_fs_free - Определяет свободное место на ФС.
         * @param anyfile Путь к любому файлу на этой ФС.
         * @return Размер ФС в блоках.
         */
        long get_fs_free(const char *anyfile)
        {
          struct statfs buf;
          statfs(anyfile, &buf);
          return buf.f_bfree;
        }
      Находится в Интернете за 5 минут. Например тут
        Цитата macomics @

        Дык это не решение. Размер блока неизвестен.

        Проще уж анализироовать вывод команды df.
        Сообщение отредактировано: Сергей85 -
          Ссылку до конца прочитать не захотели как в прошлый раз.
          Там в конце приводят функцию возвращающую размер блока.
          ExpandedWrap disabled
            #include <sys/stat.h>
            size_t blksize(const char *anyfile)
            {
              struct stat st;
              stat(anyfile, &st);
              return st.st_blksize;
            }
          Сообщение отредактировано: macomics -
            Нет смысла возиться с размерами блока и сторонними функциями.

            df с указанием размера блока 1 байт - показывает свободное место в байтах.
              Цитата Сергей85 @
              QDir, QFileSystemModel - не дают информации.

              Начиная с 5.4 появился класс QStorageInfo.
              Для получения переносимого кода, думаю, нужно залезть в исходники 5.4 и "забрать"
              себе нужное.
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0221 ]   [ 16 queries used ]   [ Generated: 6.12.22, 21:31 GMT ]