zoukankan      html  css  js  c++  java
  • 获取磁盘的 总容量,空余容量,已用容量 【windows】

    使用windows api

    输入:盘符字符串

    输出:磁盘容量

    float get_disk_spaces(const char drive_letter, float & total_space, float & used_space)
    {
        BOOL fResult;
        unsigned _int64 i64FreeBytesToCaller;
        unsigned _int64 i64TotalBytes;
        unsigned _int64 i64FreeBytes;
        char dir[4] = { drive_letter, ':', '\', ''};
        fResult = GetDiskFreeSpaceExA(
            dir,
            (PULARGE_INTEGER)&i64FreeBytesToCaller,
            (PULARGE_INTEGER)&i64TotalBytes,
            (PULARGE_INTEGER)&i64FreeBytes);
        if (fResult)
        {
            /*QMessageBox::about(NULL, "Information",
                ("Get disk space " + QString(dir) + QString::number(i64TotalBytes)));*/
            total_space = (float)i64TotalBytes;
            used_space = (float)(i64TotalBytes - i64FreeBytes);
            return (float)i64TotalBytes;
        }
        else
            QMessageBox::about(NULL, "Information",
                ("Failed to get disk space " + QString(dir)));
     
        return -1;
    }

    注意其中的字符数组 dir 一定要以''结尾,否则程序时好时坏,因为有时dir末尾正好是0,而有时不是。

  • 相关阅读:
    防止头文件的重复包含问题
    git常用命令
    redis
    linux常用操作
    数据库安装
    mysql修改表结构
    mysql 忘记root密码及授权访问
    mysql连表查询
    mysql 存取ip方法
    php批量修改表结构
  • 原文地址:https://www.cnblogs.com/liujx2019/p/10309860.html
Copyright © 2011-2022 走看看