0

发生在我身上的是,当我在 Visual Studio 之外运行我的程序时,它无法使用相对路径来查找任何内容。

事实证明这很难表达......

就像,我有程序 X,它打开 textfile.txt,对吗?如果我用绝对路径指向 textfile.txt,我很好。如果我用相对路径指向它并编译程序X,然后直接运行它(即,通过双击调试文件夹中的programX.exe),我也很好。但是,如果我使用相对路径并在 Visual Studio 之外运行程序(即按 f5),则它找不到该文件。

有谁知道发生了什么?或者,任何人都可以建议一些不与其他新手 Visual Studio 问题直接冲突的体面的关键字吗?

4

2 回答 2

3

在 VS 2008 中,在 exe 项目的属性中,您可以指定运行目录 - 运行 exe 的目录。

于 2009-01-23T06:53:50.967 回答
2

不确定VS2008,但早期版本在您的项目目录下使用当前调试(或发布,我猜)目录运行程序。您可能必须确保将其用作路径的根。

或者,在您的相对路径前加上“..\”。

暂时system("cd");在您的代码中放置一个,以找出它实际从哪里运行或GetCurrentDirectory(...)按照尼克的建议使用。

于 2009-01-23T06:54:48.110 回答