views:

194

answers:

3

Hi,

I am trying to figure out how to grab the start directory for my program. I am using C and have access to GLib. On the Linux side it is easy, g_get_current_directory as soon as the program is launched, and store this value for later use. I tried using the same method on windows but g_get_current_directory returns whatever %APPDATA% resolves to.

Any ideas on how I can grab the starting directory using C?

Thanks,

A: 

Oops, found the solution. If you have access to glib, simply use:

gchar* g_win32_get_package_installation_directory_of_module(gpointer hmodule);

If hmodule is NULL then it will return the dir for the .exe

James
+1  A: 

Not in standard C (unless there's something new in C99). C itself doesn't have much of a concept of file systems.

David Thornley
A: 

I believe _getcwd() is what you need, have a look here at the MSDN documentation:

http://msdn.microsoft.com/en-us/library/sf98bd4y.aspx

DeusAduro