%SYSTEMROOT% == c:\windows (or the root windows directory)

%SYSTEMDRIVE% == the drive windows is installed to (eg, C:\)

 

 

 

How can I get the system drive letter?

There's an environment variable called SystemDrive which is set to the system drive (surprisingly enough). The getenv() call is how you can get to it.

char *sysDrive = getenv ("SystemDrive");
if (sysDrive == NULL) {
    // vote me down.
} else {
    // vote me up and use it.
}



if(DWORD len = ::ExpandEnvironmentStrings(input, 0, 0)) {
if(len > 0) {
TCHAR *cp = new TCHAR[len];

 
 

if(cp) {
if(::ExpandEnvironmentStrings(input, cp, len) != 0) {

 
 

result = string(encodings::utf8, cp);
}
delete[] cp;
}
}
}



转载于:https://www.cnblogs.com/kex1n/p/5776951.html

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐