我想知道什麼樣的代碼片斷確實..什麼的代碼片斷確實
Drive[0] = 'A';
Drive[1] = ':';
Drive[2] = '\\';
Drive[3] = 0;
DriveMask = GetLogicalDrives();
for(anIndex = 0; anIndex < 26;
anIndex++)
{
if(DriveMask & 1)
{
Drive[0] = 'A' + anIndex;
DriveMask >>= 1;
}
}
請讓我知道你的答案。
謝謝您的時間閱讀我的文章。
感謝您的回覆花花公子 你能否向我解釋這條線 DriveMask >> = 1; – user198725878 2010-06-17 06:06:36
當然 - 比如你有一個二進制10100101位掩碼(十進制165 = 128 + 32 + 4 + 1)...「DriveMask >> = 1」表示「向右移動DriveMask 1位」。所以在這種情況下,它將從10100101(165)變爲01010010(十進制:64 + 16 + 2 = 82)。最右邊的位下降,零點向左移動。本質上它是一種說「除以2」的方式。 [空間不足 - 正在繼續...] – chrisbtoo 2010-06-17 06:25:11
片段中的含義是,您將代表每個驅動器號的位向下移動,直到位於最右側(1)的位置。當評估「if(DriveMask&1)」時,如果最右邊的位(正在考慮的驅動器)是1(它是已安裝的驅動器),則您將變爲true。有關詳情,請訪問http://en.wikipedia。組織/維基/ Bitwise_operation – chrisbtoo 2010-06-17 06:27:10