Вывод дисков компьютора.
Добавлено: 17 апр 2013, 12:00
Есть такой код:
Всё работает, почти всё понятно кроме одного, что это такое То что это побитовый сдвиг я понял, а вот почему именно 0x00000001? Что хранится по этой ссылке?
Код: Выделить всё
int n;
char dd[4];
// Маску доступных в системе дисков записываем в переменную Dr
DWORD Dr = GetLogicalDrives();
// Выводим доступные логические диски
printf("3. Available disk drives\n\t");
for ( int i = 0; i < 26; i++ ) { //26 строчных и прописных букв
// Выделяем бит с порядковым номером i
n = ((Dr>>i)&0x00000001);
// Если бит равен 1, значит диск есть в системе
if( n == 1 ) {
dd[0]=char (65 + i); // Буква диска
dd[1] = ':';
dd[2] = '\\';
dd[3] = 0;
printf("%s ", dd);
} // if
}
Всё работает, почти всё понятно кроме одного, что это такое
Код: Выделить всё
n = ((Dr>>i)&0x00000001):