现在的位置: 首页 > 综合 > 正文

在程序中获得驱动器盘符的方法,附源程序,可在VC7.1下编译运行

2013年08月31日 ⁄ 综合 ⁄ 共 713字 ⁄ 字号 评论关闭

#define _WIN32_WINNT 0x0501

#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <iostream>
#include <vector>
#include <tchar.h>
using namespace std;
int main(int argc, char *argv[])
{
 //获得驱动器标识,调用GetLogicalDrivers()函数可以得到一个32位的DWORD类型的数字,其中每一位标识一个磁盘驱动器,为1表示此驱动器存在,为0表示不存在。磁盘驱动器从A盘开始编号。
 DWORD dDriver = ::GetLogicalDrives();
 vector<string> strVecDriver;
 string strDriver = _T("A://");
 UINT nPos = 0;
 string strTemp;
 while(dDriver)
 {
  if(dDriver & 1)
  {
   strTemp = _T('A') + nPos;
   //用strTemp中是从0开始,长度为1的字符串替换本字符串中从0开始长度为1的字符串。
   strTemp += "aaaa";
   strDriver.replace(0,1,strTemp.c_str(),0,1);
   strVecDriver.push_back(strDriver);
   nPos++;
   cout<<strDriver.c_str()<<endl;
  }
  else
  {
   nPos++;
  }
  //右移一位,来获得每一个磁盘的标识
  dDriver>>=1;
 }
 

抱歉!评论已关闭.