相对路径问题 - 一个目录

时间:2011-08-31 22:38:11

标签: c++ winapi path relative-path organization

这是workig: 我的exe在与Images文件夹相同的目录中;

Main:
|-Images
  |-cross_ball
    |-frame.bmp
|-game.exe

我在我的game.exe中引用了frame.bmp。

这条路径很好用:“Images \\ cross_ball \\ frame.bmp”

这不起作用: exe位于bin文件夹中。 bin文件夹与Images文件夹位于同一文件夹中;

Main:
|-Images
  |-cross_ball
    |-frame.bmp
|-bin
  |-game.exe

此路径不起作用:“.. \\ Images \\ cross_ball \\ frame.bmp”

3 个答案:

答案 0 :(得分:3)

如果“Images \ cross_ball \ frame.bmp”正在运行,那么您应用的当前目录不是您认为的图像目录。它必须是一个工作的目的。这也解释了为什么将exe移动到bin目录失败。

您是从快捷方式还是在调试器中启动应用程序?快捷方式和调试器指定应用程序的当前目录,该目录不一定是exe所在的目录。

答案 1 :(得分:0)

作为实验,将每个\替换为\\并再次测试。

反斜杠通常用于'\ n'等转义序列。

通过将其中两个放在一起,运行时间应该将它们变成一个。

<强> “影像\\ cross_ball \\ frame.bmp”

答案 2 :(得分:0)

看来您的逻辑很好。您确定您的进程未更改当前工作目录 - 即当您在可执行文件中进行此更改时,Main / bin /可能不是您的工作目录。