zoukankan      html  css  js  c++  java
  • C++ 获得本地磁盘盘符的容量信息

    编程过程中涉及存储部分常常需要选择存储位置,此时比较关心的是各个磁盘盘符空间的总大小和剩余空间的大小。通过MFC的 List Control 控件可以将本地的磁盘容量信息显示出来并提供给用户选择的接口,是一种存储文件不错的思路。下面的代码实现了获得本地磁盘盘符容量信息的部分:


    ULARGE_INTEGER nFreeBytesAvailable;
    ULARGE_INTEGER nTotalNumberOfBytes;
    ULARGE_INTEGER nTotalNumberOfFreeBytes;
    
    WCHAR Drive[MAX_PATH] = { 0 };//初始化数组用以存储盘符信息
    GetLogicalDriveStrings(MAX_PATH, Drive);//获得本地所有盘符存在Drive数组中
    
    CString myDrive;
    int i = 0;
    while (Drive[i - 1] != '' || Drive[i] != '')//搜索数组尝试得到盘符信息,如果两者皆否,则数组搜索到尽头
    {
            myDrive = L"";
            myDrive = Drive[i];
    	myDrive = myDrive + L":";//将盘符信息的格式调整为像“C:”这种格式,以作为GetDiskFreeSpaceEx函数的第一个参数
    	i += 4;
    
    	if (GetDiskFreeSpaceEx(myDrive,
    		&nFreeBytesAvailable,
    		&nTotalNumberOfBytes,
    		&nTotalNumberOfFreeBytes))//利用GetDiskFreeSpaceEx函数获得指定磁盘信息
    	{
    		long mywholespace = nTotalNumberOfBytes.QuadPart/1024/1024/1024;//得到磁盘总空间,单位为G
    		long myfreespace = nTotalNumberOfFreeBytes.QuadPart/1024/1024/1024;//得到磁盘剩余空间,单位为G
    	}
    }






  • 相关阅读:
    python 中的深拷贝和浅拷贝
    时间复杂度
    为什么l1和l2可以防止过拟合
    逻辑回归实现多分类
    《深入浅出数据分析》读书笔记
    牛客网的输入和输出
    万物皆可embedding
    NLP中的mask的作用
    不同语言对单例模式的不同实现
    ElasticSearch 索引 VS MySQL 索引
  • 原文地址:https://www.cnblogs.com/weixinhum/p/3916722.html
Copyright © 2011-2022 走看看