代码改变世界

VC中的相对路径

2007-03-29 14:59  flyingfish  阅读(4070)  评论(0编辑  收藏  举报

"."=当前路径,".."=当前路径的上层,这是DOS时代就知道了的。

可是这几天调试VC程序给CFileDialog的缺省路径赋值总不对,直接执行exe并无此问题。很奇怪,

//设置对话框默认呈现的路径

dlg.m_ofn.lpstrInitialDir = ".\\Reference\\Coordinate Systems"

 专门用如下语句测试

//char lpstr[30];
//GetCurrentDirectory(30,lpstr);
//AfxMessageBox(lpstr);

后发现,原来调试环境认得当前路径并不是Exe输出的目录而是工程文件所在目录,所以如果Reference目录和Exe在一块用上边的方法在调试环境就不行,经过设置Debug下的Working Dir到Exe的输出目录可解决。

应该是调试时主进程是VC创建的一个调试进程的缘故。