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;

}

相关推荐
fox_lht16 小时前
第十二章 泛型、接口和生命周期
开发语言·后端·rust
jayson.h16 小时前
正则表达式:从文件名提取器件编号
开发语言·python·正则表达式
Dxy123931021616 小时前
JS如何获取元素高度
开发语言·javascript·ecmascript
fpcc16 小时前
跟我学C++中级篇—虚函数的优化
c++
智者知已应修善业16 小时前
【51单片机独立按键控制数码管自增自减】2023-10-5
c++·经验分享·笔记·算法·51单片机
凯瑟琳.奥古斯特16 小时前
页面置换算法详解与对比
开发语言·分布式·职场和发展
小杍随笔16 小时前
Axum+Leptos全栈集成实战
开发语言·后端·架构·rust
2601_9536603716 小时前
Java Map集合详解与实战
java·开发语言·python
ComputerInBook16 小时前
C++中“概念”(concept)之含义
开发语言·c++·概念·concept
程序员老舅16 小时前
Linux:谁把根目录卸载了?
linux·c++·容器·linux内核·文件系统·根目录