Android C++:使用 ndk 从资产中读取文本文件

nax*_*nge 4 c++ android ifstream android-ndk

我正在尝试从存储在 android 项目的资产文件夹中的文本文件创建输入流,但遇到了一些问题。仅像在常规桌面程序(使用ifstream file_handle; file_handle.open("path/to/fileName");)中那样提供文件路径就足够了,还是必须以其他方式将其加载到应用程序中?如果是后者,那么在 ndk 中执行此操作的代码是什么?我还能将文件用作ifstream对象吗?

谢谢,

交换

aus*_*len 5

Android 资源打包在apk's 中,因此您无法直接使用流或文件句柄访问它们。

您需要使用Native Asset Manager API / AAssetManager才能阅读它们。在asset_manager.hin 中查找$NDK/platforms/..有关如何从本机访问资产的可能功能。

您可能想查看一个类似的问题/答案