getcwd()函数在VS2012调试时和应用发布时获取的路径不一样

C++语言 码拜 8年前 (2016-09-18) 1651次浏览
由于应用要用的获取当前的工作目录,发现了这个问题,具体已经找到其他的解决方案弥补掉了,这里希望有人能够帮忙说明下造成这个问题的具体原因?以及能否具有其他的解决方案?
问题描述:
使用getcwd()在进行单步调试和打包成exe后,获取的路径不一样
这里上传相关的文件目录的结构,以方便说明:
getcwd()函数在VS2012调试时和应用发布时获取的路径不一样
以上目录中proj.win32文件夹的目录结构
getcwd()函数在VS2012调试时和应用发布时获取的路径不一样
proj.win32/Debug.win32文件夹的目录结构
getcwd()函数在VS2012调试时和应用发布时获取的路径不一样
使用单步调试时获取的路径是:
“C:\Users\1\Desktop\behaviac-master\example\airbattledemo\proj.win32”
直接运行exe是获取的路径是:
“C:\Users\1\Desktop\behaviac-master\example\airbattledemo\proj.win32\Debug.win32”
疑问的地方是:为什么通过VS进行单步调试时获取的工作路径并不是exe所在的路径
然后:原因是在调试时运行结果和发不成exe时的运行结果不一样,造成一些不必要的麻烦,而且原因是引用的lib中有使用了getcwd()函数的地方,能否有方法修改VS的一些配置选项,使得以上两种运行方法都能够获取一致的路径
解决方案

100

getcwd()函数在VS2012调试时和应用发布时获取的路径不一样

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明getcwd()函数在VS2012调试时和应用发布时获取的路径不一样
喜欢 (0)
[1034331897@qq.com]
分享 (0)