我试图弄清楚如何获取我的程序的起始目录。我正在使用 C 并且可以访问 GLib。在 Linux 端很简单,只要程序启动,g_get_current_directory 就会存储这个值以备后用。我尝试在 Windows 上使用相同的方法,但 g_get_current_directory 返回 %APPDATA% 解析的任何内容。
关于如何使用 C 获取起始目录的任何想法?
谢谢,
我试图弄清楚如何获取我的程序的起始目录。我正在使用 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 文档: