hi guys and girls if any :P, im trying to find out how to determine the root directory of a computer, in c++ as part of a larger program im working on, im sure i heard before that there is some api call that can be used to do this, i fi have explained it wrong here is an example:

C:\Program files\Program\Program.exe

I am looking how to automatically find out the root drive (C:\) of a computer.
Does anyone have any ideas ?

12 Years
Discussion Span
Last Post by bops

do you want the drive letter of the drive on which the os is installed? such as "c:"? or the path that the program is starting from? argv[0] or win3w2 api function GetModuleFileName() will give you the latter.


i want to find the drive the OS is on yea, I have used GetModuleFileName() function before. But it only returns the location of the program. If argv[0] is what i need, can you give me an example of how you use it ?


argv[0] will give you the same as GetModuleFileName(). XP has windir environment variable. Earlier os may be different -- check your PATH environment variable.

char* path = getenv("windir");

I'm supprised the return pointer from getenv() is not const because you can't modifiy its value.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.