2013-02-06 69 views
1

在我工作的项目,在运行时我需要打开一些文件,并阅读相对路径无法打开

std::ifstream vSettings(".\\..\\..\\Data\\data.xml"); 
if (vSettings.good()) 
{ 


    //file found ,work with it 

} 

我从来没有得到上面的good()调用正确的。 手动检查确实存在相对于.exe的文件。

的路径是exe文件到文件的主要\凸出\数据。当在该目录会相对安装到.EXE

用户的计算机上运行\主\凸出\ BIN \调试,Win32.the路径我在调试模式下工作,路径与从“bin”目录的角度看一样。

任何建议?

+6

工作目录可能无法在目录可执行文件所在的位置。 –

+0

第一个点似乎对我来说是错误的。有多少个目录要改回来?如果你添加一个额外的点,像'“.. \\ .. \\ .. \\ Data \\ data.xml”'它会从当前路径返回三个目录 – SamGamgee

+0

@SamGamgee - exe的路径是\ main \ proj \ bin \ Debug-Win32.the file to main \ proj \ Data – Yakov

回答

2

转到调试设置

enter image description here

,改变$(PROJECTDIR)到$(OUTDIR),它应该表现得像你期望