@dimoSSHka

Как в qt creator узнать размер диска?

Пробовал на winapi, но ничего не выходит. Есть ли более легкая реализация получения размера к примеру флешки на диске "E:\"?

Код с попыткой получения размера
void MainWindow::on_pushButton_clicked()
{
    QString file_name = QFileDialog::getExistingDirectory();
    ui->usbpath->setText(file_name);



    string pathfile = file_name.toUtf8().constData();
    wstring stemp = s2ws(pathfile);

    LPCTSTR         lpDirectoryName = stemp.c_str();
    PULARGE_INTEGER lpFreeBytesAvailable;
    PULARGE_INTEGER lpTotalNumberOfBytes;
    PULARGE_INTEGER lpTotalNumberOfFreeBytes;

       LPCTSTR pat = lpDirectoryName;
       if(GetDiskFreeSpaceEx(pat,lpFreeBytesAvailable,lpTotalNumberOfBytes,lpTotalNumberOfFreeBytes))
       {

            cout << lpFreeBytesAvailable << endl;
       }



}


Заранее спасибо.
  • Вопрос задан
  • 315 просмотров
Решения вопроса 1
SerJook
@SerJook
кодер
QStorageInfo storage("e:/");
qDebug() << "name:" << storage.name();
qDebug() << "fileSystemType:" << storage.fileSystemType();
qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB";
qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB";


Ну и вверху не забудьте добавить
#include <QStorageInfo>
#include <QDebug>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы