This demonstrates how to get a list of your computer's logical drive letters under the MS-Windows operating system.

#include <windows.h>
#include <stdio.h>

int main()
    char buf[255];
    // get the drive letters as a set of strings
    int sz = GetLogicalDriveStrings(sizeof(buf), buf);
    if( sz > 0)
        // buf now contains a list of all the drive letters.  Each drive letter is
        // terminated with '\0' and the last one is terminated by two consecutive '\0' bytes.
        char* p1 = buf;
        char* p2;
        while( *p1 != '\0' && (p2 = strchr(p1,'\0')) != NULL )
            printf("%s\n", p1);
            p1 = p2+1;
        // Oops! something went wrong so display the error message
        DWORD dwError = GetLastError();
        FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, dwError, 0, buf, sizeof(buf), 0);
        printf("%s\n", buf);


really nice snippet (: I'm sure this will come in handy for me sometime.

See rather the Microsoft sample.
16 years old... (beginner code for a so simple api, posted 10000 times on BBS & Usenet...)

commented: You're pathetic. -2

>>See rather the Microsoft sample
What sample? Post link.

[edit] Probably this?

>>posted 10000 times on BBS & Usenet.
Probably -- now its been posted 10001 times :)

commented: Well said. +8