我正在编写一个C ++游戏,我打算在PC和Android上运行。我在游戏中使用了一些图像和文本文件。我可以在哪里放置这些文件,以便可以使用ifstream
或fopen
打开这些文件?我倾向于提到我已经尝试将它们存储在assets文件夹中,并且可以使用NDK AssetManager加载它们。我对assets文件夹的主要问题是ifstream
实际上无法打开存储在那里的文件,因为它们是压缩的或者是那种性质的东西。在大多数情况下,这没关系,但我有一些必不可少的库,他们只接受正在使用的文件的路径。此外,最好有(几乎)用于在PC和Android上加载文件的相同代码。
T.L.D.R。:我可以在哪里为我的游戏投放资源,以便用ifstream
打开它们?我在某处读到了我可以使用外部存储器或类似的东西,但我更喜欢另一种解决方案。
答案 0 :(得分:1)
我可以在哪里放置这些文件,以便可以使用ifstream或fopen打开它们?
您需要将它们打包到您的应用中(例如assets/
),然后将其复制到internal storage上的文件(例如getFilesDir()
)。与您的应用程序打包在一起的任何内容都不会像普通文件那样与fopen()
和kin一起使用。