安卓 C++ : reading text file from assets using ndk

标签 android c++ android-ndk ifstream

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

谢谢,

改变

最佳答案

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

您需要使用 Native Asset Manager API/AAssetManager 才能读取它们。在 $NDK/platforms/.. 中的 asset_manager.h 中查找有关如何从 native 访问 Assets 的可能函数。

您可能想要查看类似的 question / answer .

关于安卓 C++ : reading text file from assets using ndk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14980868/

相关文章:

c++ - GetTokenInformation 与 TokenGroups

c++ - CUDA:如何在设备上填充动态大小的 vector 并将其内容返回给另一个设备功能?

android - 将 stagefright 和 NuPlayer 反向移植到 Android 2.2

Android NDK线程无效使用非静态成员函数

android - Facebook SDK 不适用于 Android Studio

android - 与 FragmentManager.popBackStack 相关的 NullPointerException。如何解决?

c++ - std::vector 保留后 operator[] 上 msvc 和 gcc 之间的行为差​​异,哪个是对的?

android - Android WebView无法播放youTube视频

Android 应用程序构建错误。无法合并 dex

android - 检查 Android NDK 代码中的整数溢出