我是一名新手程序员,在指导编译器使用const char查找某些图像文件时遇到了问题。
我正在读C.Kelly的一本书《2D游戏编程》,当我翻阅他的书时代码中,他使用这一行来查找他的图像文件。
const char NEBULA_IMAGE[]="pictures\NasaNobbula.jpg";//图片来源nasaimages.org
当我这样做时,我会得到一个错误,我找不到文件。但是,如果我使用这条线:
const char NEBULA_IMAGE[]="E:/TestProject/pictures/NasaNebula.jpg"//图片来源美国航空航天局
它有效。有人能告诉我如何配置我的项目,这样它就可以在不定义确切路径的情况下找到这些文件吗?我四处寻找了一段时间,但找不到我需要的东西。
感谢
由于该路径是在运行时(而不是在编译时)用来定位和加载该文件的,因此必须确保这样的相对路径在当前情况下是有意义的。您必须确保应用程序的当前工作目录是这样的,从上的该目录的相对路径指向该文件。
在您的特定示例中,直接工作的应用程序必须位于E:/TestProject
中,以便相对路径pictures/NasaNebula.jpg
指向完整(正确)路径E:/TestProject/pictures/NasaNebula.jpg
。
一般来说,相对路径提供了很大的灵活性。例如,在运行时使用不同的资源文件夹,从而在不必更改应用程序源代码的情况下使用不同的文件。但相对路径也要求应用程序的现状允许解决此类路径。