linux获取磁盘信息

/// <summary>

/// 获取linux磁盘信息

/// </summary>

/// <returns></returns>

std::string ZmApiDeviceInfo::GetLinuxStorage()

{

struct statvfs vfs;

const char* path = "/"; // 要检查的文件系统路径

if (statvfs(path, &vfs) != 0) {

std::cerr << "Error getting file system status." << std::endl;

return "";

}

unsigned long long totalSpace = vfs.f_frsize * vfs.f_blocks; // 总磁盘空间

unsigned long long freeSpace = vfs.f_frsize * vfs.f_bfree; // 空闲磁盘空间

unsigned long long usedSpace = totalSpace - freeSpace; // 已用磁盘空间

double usagePercentage = (double)usedSpace / totalSpace * 100.0;

/*std::cout << "Total Space: " << totalSpace << " bytes" << std::endl;

std::cout << "Used Space: " << usedSpace << " bytes" << std::endl;

std::cout << "Free Space: " << freeSpace << " bytes" << std::endl;

std::cout << "Usage Percentage: " << usagePercentage << "%" << std::endl;*/

char strPercent[100]{ 0 };

sprintf(strPercent, "%.2f%", usagePercentage);

return strPercent;

}

相关推荐
geovindu16 小时前
python: Command Pattern
开发语言·python·命令模式
Cosmoshhhyyy17 小时前
《Effective Java》解读第41条:用标记接口定义类型
java·开发语言
锅包一切17 小时前
【蓝桥杯JavaScript基础入门】一、JavaScript基础
开发语言·前端·javascript·蓝桥杯
前路不黑暗@17 小时前
Java项目:Java脚手架项目的 B 端用户服务(十四)
android·java·开发语言·spring boot·笔记·学习·spring cloud
锅包一切17 小时前
PART17 一维动态规划
c++·学习·算法·leetcode·动态规划·力扣·刷题
Polaris北17 小时前
第二十六天打卡
c++·算法·动态规划
wuqingshun31415918 小时前
什么是浅拷贝,什么是深拷贝,如何实现深拷贝?
java·开发语言·jvm
ShiJiuD66688899919 小时前
Java stream流和方法引用
java·开发语言
froginwe1119 小时前
CSS 简介
开发语言