Gee, that sounds like a routine you could write yourself!
I mean, golly gosh! since the string you have is just an array of characters, at the very least you could smatter together a routine like this (not how I would do it)--
char driveString; /* just enough to hold device letter */
char path = "C:/Windows/System";
getdrivestring(path,driveString); /* parse out the letter */
void getdrivestring(char *a,char *b)
b[i] = a[i]; /* copy first 3 letters */
b = 0x00; /* length terminating byte */
seems rather brute-force, yet it would do the trick, eh?