当前路径/ SDL库

时间:2011-12-21 14:52:13

标签: c++ c path sdl

我正在尝试获取当前可执行文件的文件路径,但最后没有可执行文件名。

我在做:

uint32_t size = sizeof(path);

if (_NSGetExecutablePath(path, &size) == 0) {


}

else {

    printf("buffer too small; need size %u\n", size);
}



char* program_name = dirname(path); // To remove executable name from the path

它的路径输出是: / Users / Me / Desktop / TNT / build / Debug /

但是当我打算使用SDL库添加一些gui时,输出路径是错误的:

/Users/Me/Desktop/TNT/build/Debug/TNT.app /

1 个答案:

答案 0 :(得分:1)

这没错,是的。

来自http://en.wikipedia.org/wiki/Application_bundle#Mac_OS_X_application_bundles

  

应用程序包是目录层次结构,具有顶级   名称以.app扩展名结尾的目录。

TNT.app/是Mac OSX上的工作目录(以及应用程序包的顶级目录)。如果输入命令shell并cd到目录,则可以确认。