方法:如何获取操作系统所有分区(逻辑驱动器)

转载请注明来源:http://www.cnblogs.com/xuesongshu/

  因为在网上搜到的一些方法比较繁锁,而且互相抄袭,所以在这里写一个新的方法。只写算法哦。

	DWORD dwDrive=::GetLogicalDrives();
	LPSTR szDrive=(LPSTR)calloc(10,sizeof(TCHAR));
	int nMask=0;
	for (int i=0;i<32;i++)
	{
		nMask=(int)pow(2,i);
		if (nMask&dwDrive)
		{
			wsprintf(szDrive,"%C:",i+0x41);
			//在这里编写获取分区之后想做的事情的代码。
		}
	}

  此方法走的捷径是利用位运算。这个方法应该也是微软设计时的初忠。

原文地址:https://www.cnblogs.com/xuesongshu/p/2909895.html