VS2010/VC++2010的相对路径问题

背景:在VC++2010中新建一个MFC项目,项目名称为MyApp。在项目文件夹(..\projects\MyApp\..)中生成MyApp.sln、MyApp.sdf两个文件和一个MyApp文件夹,所有的源文件、头文件及资源文件都位于MyApp文件夹中。生成解决方案后,还会在项目文件夹中产生Debug和Release文件夹,相应的exe文件位于这两个文件夹中。

问题:现在有一个文件假设为sample.txt需要在程序中访问,代码中该文件的相对路径为".\\sample.txt",那么该文件的位置应该在哪里?

回答:根据情况,如果是在IDE中启动调试,sample.txt应该放在..\projects\MyApp\MyApp路径中,也就是应该和头文件位于同一目录。如果直接在Debug或Release中双击exe启动程序,那么应该放到Debug或Release中。另外,在代码中写".\\sample.txt"或"sample.txt"等效。

如果代码中的相对路径是两个点,即"..\\sample.txt",那么该文件应该和MyApp.sln位于同一目录。

综上所述,开发过程中外部文件要与头文件同一目录,而部署时直接将该文件发布到exe的同一目录。

posted @ 2013-11-01 19:18  briss  阅读(676)  评论(0编辑  收藏  举报