可能和UTF的编码有关系吧,因为在C语言当中认为\0表示字符串结束了结果你返回的env->GetStringUTFChars(Content, 0)的第一个字符就是\0了我其实也不太肯定

解决方案 »

  1.   

    可是为什么把String域作为调用方法的jstring参数能够传递进去,能够在C++里得到值,把它作为对象的域传递进去,就不行~`
      

  2.   

    顺便请大家看看这个贴子, 关于POI的,谢谢.
    http://community.csdn.net/Expert/topic/3706/3706109.xml?temp=.6670801
      

  3.   

    不好意思,路过,但不太会,
    但我查了一下GetStringUTFChars()是需要分配空间的
    如果返回为空,则表明是
    OutOfMemory 异常.调试一下,找到strTmp的指向的地址,看看调用该函数后,是否会写入写值,
    1,如果写入的是0,且后面的内存单元也有改变,那么是字符问题.
    2.可能就是内存不够
    3...我也不知道
      

  4.   

    噢对了,另外,你程序有一个小问题,
    需要在使用完后调用
    env->ReaseStringUTFChars(Content,str);
    这样才会释放内存
    试试看,是不是这个问题