可执行启动目录的绝对路径

我试图弄清楚如何获取我的程序的开始目录。 我正在使用C并可以访问GLib。 在Linux方面,只要程序启动就很容易g_get_current_directory,并存储该值以供以后使用。 我尝试在Windows上使用相同的方法,但g_get_current_directory返回%APPDATA%解析的内容。

关于如何使用C获取起始目录的任何想法?

谢谢,

不在标准C中(除非C99中有新内容)。 C本身没有太多的文件系统概念。

哎呀,找到了解决方案。 如果您可以访问glib,只需使用:

gchar * g_win32_get_package_installation_directory_of_module(gpointer hmodule);

如果hmodule为NULL,那么它将返回.exe的目录

我相信_getcwd()是你需要的,看看MSDN文档:

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