Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Android读取C结构成员静态字符串_Java_Android_C_String_Android Ndk - Fatal编程技术网

Java 从Android读取C结构成员静态字符串

Java 从Android读取C结构成员静态字符串,java,android,c,string,android-ndk,Java,Android,C,String,Android Ndk,我想学习从Android读取'C'结构成员静态字符串的最佳方法 例如,下面是一个带有静态字符串的嵌套“C”结构: static const struct A { const char* const a; struct B { const char* const b; } b; } a = {"Hello, A", {"Hello, B"}}; 从Android读取这两个字符串的最佳方式是什么 我正在寻找一种简单的方法来实现这一点,这样在运行时就不

我想学习从Android读取'C'结构成员静态字符串的最佳方法

例如,下面是一个带有静态字符串的嵌套“C”结构:

static const struct A
{
    const char* const a;
    struct B
    {
        const char* const b;
    } b;
} a = {"Hello, A", {"Hello, B"}};
从Android读取这两个字符串的最佳方式是什么

我正在寻找一种简单的方法来实现这一点,这样在运行时就不会有太多的处理。从我读到的内容来看,我需要将字符串转换为UTF-16,因此我最好使用某种宽字符类型(jstring)而不是字符[]?我真的需要创建一个方法而不是直接访问字符串作为成员数据吗


谢谢

这在C中不是有效的结构定义,也不是有效的赋值。您可以按字节序列访问字符串。如果需要字符串或StringBuilder,只需将其转换为UTF-16。我将介绍访问本机内存的访问函数。理想情况下,您根本不需要将这些字符串从C读入Java。你确定它值得使用C吗?如果你想从Java层读取C数据,你需要创建一个JNI接口来建立一个桥接器。Seva,上面编译的代码,据我所知是有效的“C”。如果我能做些改变使它符合标准,一定要告诉我。我想你可能会认为我需要一个typedef,如果这有助于澄清问题,我可以这样做。Peter,我不是100%确定,但我有一堆数据(大部分是字符串),它们实际上应该只存在于一个位置,以避免出错。我能看到的唯一共同点语言是“C”