这是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”
答案 0 :(得分:3)
如果“Images \ cross_ball \ frame.bmp”正在运行,那么您应用的当前目录不是您认为的图像目录。它必须是一个工作的目的。这也解释了为什么将exe移动到bin目录失败。
您是从快捷方式还是在调试器中启动应用程序?快捷方式和调试器指定应用程序的当前目录,该目录不一定是exe所在的目录。
答案 1 :(得分:0)
作为实验,将每个\替换为\\并再次测试。
反斜杠通常用于'\ n'等转义序列。
通过将其中两个放在一起,运行时间应该将它们变成一个。
<强> “影像\\ cross_ball \\ frame.bmp”强>
答案 2 :(得分:0)
看来您的逻辑很好。您确定您的进程未更改当前工作目录 - 即当您在可执行文件中进行此更改时,Main / bin /可能不是您的工作目录。