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;

}

相关推荐
lly2024061 分钟前
Python SMTP邮件发送教程
开发语言
我是伪码农7 分钟前
小程序100-125
开发语言·小程序·php
weixin_4467291615 分钟前
注解和反射
java·开发语言
এ慕ོ冬℘゜21 分钟前
JS 前端基础高频面试题
开发语言·前端·javascript
凯瑟琳.奥古斯特23 分钟前
常见加密算法及应用
java·开发语言·网络·网络协议·职场和发展
Dxy123931021627 分钟前
JS列表获取指定范围值的 N 种方法
开发语言·javascript·ecmascript
froginwe1129 分钟前
Memcached CAS 命令详解
开发语言
汉克老师37 分钟前
GESP6级C++考试语法知识(二十七、广度优先搜索(二、二维BFS))
c++·算法·图论·宽度优先·广度优先搜索·gesp6级·gesp六级
此生决int38 分钟前
算法从入门到精通——位运算
数据结构·c++·算法·蓝桥杯
春栀怡铃声39 分钟前
【C++修仙录02】筑基篇:vector 使用
开发语言·c++·算法