2013-08-07 2 views
2

Я написал небольшую программу, которая будет искать все логические диски на моем ПК, а затем печатает их. Но различный wirh мой ожидаемый, он не показывает их. Вот мой пример кодабуквы логического диска не отображаются

TCHAR szDrive[] = (" A:");  
DWORD drive = GetLogicalDrives(); 
printf("The bitmask of the logical drives in hex: %0X\n", drive); 
printf("The bitmask of the logical drives in decimal: %d\n", drive); 
if(drive == 0) 
    printf("GetLogicalDrives() failed with failure code: %d\n", GetLastError()); 
else 
{ 
    printf("This machine has the following logical drives:\n"); 
    while(drive) 
    { 
    // Use the bitwise AND, 1â€"available, 0-not available 
    if(drive & 1) 
     printf("%S ", (const char *)szDrive); 
    // increment, check next drive 
    ++szDrive[1]; 
    // shift the bitmask binary right 
    drive >>= 1; 
} 
printf("\n "); 
} 
+2

Вы отлаживали свой код, чтобы определить, что не так? –

+0

да, я сделал..и ничего не получается с моим кодом в соответствии с отладчиком – user2660085

+0

whats output? Что такое ошибка? –

ответ

1

Ваш отчет printf нарушен. Используйте:

printf("%s ", szDrive); 

Я предполагаю, что использование вами %S вместо %s была просто опечатка.

+0

да, это работает..thank u – user2660085

Смежные вопросы