mac下如何改变当前环境目录(程序实现)

    游戏客户端调试的时候很正常,但是双击客户端程序图标直接运行的时候,却因为找不到配置文件而崩溃。

 

    我们在游戏代码中一般使用 fopen("ini/xxx.ini", "r") 这样的形式来获取一个配置文件,这就要求程序的当前环境目录下要有ini这个文件夹。如果我们是通过命令行来运行程序的,那么当前环境目录就是程序所在文件夹,它下面会有ini这个文件夹,没有问题。如果我们是双击程序图标来打开游戏的话,那么当前环境目录会被设置成根目录,根目录下当然没有ini文件夹。

 

   首先要获取程序文件的绝对路径,注意不是getcwd获取的路径,getcwd获取的依然是当前环境目录。我们可以对这个路径进行调整,使其指向我们资源文件的位置。然后使用chdir("xxxx"),以改变当前环境目录。注意,xxxx这个路径要是utf-8编码的(或者说是系统默认编码,linux和mac当然就是utf-8),中文路径的时候尤其要注意。这之后使用getcwd就可以获取正确的当前环境目录了。

你可能感兴趣的:(游戏,linux,ini)