方法:如何获取操作系统所有分区(逻辑驱动器)
转载请注明来源: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); //在这里编写获取分区之后想做的事情的代码。 } }
此方法走的捷径是利用位运算。这个方法应该也是微软设计时的初忠。