如何在android上存储资源,以便可以使用fopen打开它们

时间:2017-02-03 23:34:31

标签: android android-ndk

我正在编写一个C ++游戏,我打算在PC和Android上运行。我在游戏中使用了一些图像和文本文件。我可以在哪里放置这些文件,以便可以使用ifstreamfopen打开这些文件?我倾向于提到我已经尝试将它们存储在assets文件夹中,并且可以使用NDK AssetManager加载它们。我对assets文件夹的主要问题是ifstream实际上无法打开存储在那里的文件,因为它们是压缩的或者是那种性质的东西。在大多数情况下,这没关系,但我有一些必不可少的库,他们只接受正在使用的文件的路径。此外,最好有(几乎)用于在PC和Android上加载文件的相同代码。

T.L.D.R。:我可以在哪里为我的游戏投放资源,以便用ifstream打开它们?我在某处读到了我可以使用外部存储器或类似的东西,但我更喜欢另一种解决方案。

1 个答案:

答案 0 :(得分:1)

  

我可以在哪里放置这些文件,以便可以使用ifstream或fopen打开它们?

您需要将它们打包到您的应用中(例如assets/),然后将其复制到internal storage上的文件(例如getFilesDir())。与您的应用程序打包在一起的任何内容都不会像普通文件那样与fopen()和kin一起使用。