最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt實現(xiàn)獲取文件大小與磁盤空間大小

 更新時間:2023年11月01日 09:46:40   作者:戀戀西風(fēng)  
這篇文章主要為大家詳細介紹了如何使用Qt實現(xiàn)獲取文件大小與磁盤空間大小,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1.通過QFile獲取文件大小

注意:返回的是字節(jié)個數(shù)

      QFile file("E:/59.raw");
      if (file.open(QIODevice::ReadOnly)) {
          qDebug() << file.size();// byte
      } else {
          qDebug() << "文件打開失??!";
      }

通過QFileInfo獲取文件大小

    QFileInfo info("E:/55.raw");
    if (info.exists()) {
        qDebug() << info.size();
    } else {
        qDebug() << "文件路徑不存在!";
    }

2. 獲取磁盤空間

/**
 * @brief getDiskSpace 獲取盤符的容量
 * @param flag 為true則求磁盤總?cè)萘?,為false則求磁盤剩余容量
 * @return 返回容量,MB為單位
 */
qint64 getDiskSpace(QString path, bool flag)
{
    qint64 res = 0;
    QList<QStorageInfo> storageInfoList = QStorageInfo::mountedVolumes();
    foreach (QStorageInfo storageInfo, storageInfoList) {
        if(path.startsWith(storageInfo.rootPath())){
            if(flag){
                res = storageInfo.bytesTotal()/1024/1024 ;
            }else{
                res = storageInfo.bytesAvailable()/1024/1024 ;
            }
 
            break;
        }
    }
 
     return res;
} 

3 .獲取選擇路徑下總文件大小

/**
 * @brief 獲取路徑下的文件大?。篗B
 * @param filePath
 * @return
 */
qint64 getDirSizeMB(const QString filePath){
    qint64 size  = getDirSize(filePath);
    return size/MB;
}
 
/**
 * @brief 獲取路徑的文件大小:字節(jié)
 * @param filePath
 * @return
 */
qint64 getDirSize(const QString filePath)
{
    QDir tmpDir(filePath);
 
    qint64 size = 0;
 
    /*獲取文件列表  統(tǒng)計文件大小*/
    foreach(QFileInfo fileInfo, tmpDir.entryInfoList(QDir::Files))
    {
        size += fileInfo.size();
    }
 
    /*獲取文件夾  并且過濾掉.和..文件夾 統(tǒng)計各個文件夾的文件大小 */
    foreach(QString subDir, tmpDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))
    {
        size += getDirSize(filePath + QDir::separator() + subDir); //遞歸進行  統(tǒng)計所有子目錄
    }
 
    return size;
}

4. 轉(zhuǎn)換大小單位

bit  === byte  

bit / 8

byte === KB

byte / 1024

KB = MB

KB / 1024

MB = GB

MB / 1024

GB === TB

GB / 1024

到此這篇關(guān)于Qt實現(xiàn)獲取文件大小與磁盤空間大小的文章就介紹到這了,更多相關(guān)Qt獲取文件與磁盤空間大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中的數(shù)字轉(zhuǎn)字符串to_string

    C++中的數(shù)字轉(zhuǎn)字符串to_string

    這篇文章主要介紹了C++中的數(shù)字轉(zhuǎn)字符串to_string,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c++ base64編解碼使用示例

    c++ base64編解碼使用示例

    這篇文章主要介紹了c++的base64編解碼使用示例,需要的朋友可以參考下
    2014-02-02
  • C語言實現(xiàn)酒店管理系統(tǒng)

    C語言實現(xiàn)酒店管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言 遞歸實現(xiàn)排雷游戲

    C語言 遞歸實現(xiàn)排雷游戲

    掃雷是電腦上很經(jīng)典很經(jīng)典的傳統(tǒng)老游戲,從小編第一次摸到計算機開始就玩過掃雷,雖然當時并不理解玩法原理,但終是第一次玩電腦游戲,下面來從掃雷的前世今生講起
    2021-11-11
  • 基于C++中sprintf的錯誤總結(jié)詳解

    基于C++中sprintf的錯誤總結(jié)詳解

    本篇文章是對C++中sprintf的錯誤進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言小游戲之小熊跳板功能的實現(xiàn)

    C語言小游戲之小熊跳板功能的實現(xiàn)

    這篇文章主要介紹了C語言小游戲之小熊跳板功能的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Qt?關(guān)于容器的遍歷迭代器的使用問題小結(jié)

    Qt?關(guān)于容器的遍歷迭代器的使用問題小結(jié)

    Qt是一個跨平臺的 C++ 開發(fā)庫,主要用來開發(fā)圖形用戶界面程序,當然也可以開發(fā)不帶界面的命令行程序,本文重點給大家介紹Qt?關(guān)于容器的遍歷迭代器的使用問題小結(jié),感興趣的朋友一起看看吧
    2022-03-03
  • VC++的combobox控件用法匯總

    VC++的combobox控件用法匯總

    這篇文章主要介紹了VC++的combobox控件用法,對VC++初學(xué)者來說尤為重要,需要的朋友可以參考下
    2014-08-08
  • strcat 函數(shù)的使用指南

    strcat 函數(shù)的使用指南

    strcat是連接字符串的函數(shù)。函數(shù)返回指針,兩個參數(shù)都是指針,第一個參數(shù)所指向的內(nèi)存的地址必須能容納兩個字符串連接后的大小。
    2015-09-09
  • C++中如何將數(shù)據(jù)保存為CSV文件

    C++中如何將數(shù)據(jù)保存為CSV文件

    這篇文章主要介紹了C++中如何將數(shù)據(jù)保存為CSV文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論

客服| 阳东县| 长武县| 咸丰县| 绥棱县| 班玛县| 驻马店市| 新民市| 海原县| 恩平市| 邮箱| 新余市| 吴川市| 玉门市| 寿宁县| 万年县| 平顶山市| 通海县| 边坝县| 南投市| 衡水市| 新民市| 玉树县| 天全县| 金乡县| 洪湖市| 武夷山市| 大港区| 内丘县| 达州市| 内乡县| 横峰县| 外汇| 凤翔县| 沈阳市| 长治县| 洛扎县| 天长市| 萨迦县| 海淀区| 郯城县|