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

转载请注明来源: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);

			//在这里编写获取分区之后想做的事情的代码。

		}

	}

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

你可能感兴趣的:(操作系统)