Todd

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            65 隨筆 :: 0 文章 :: 24 評論 :: 0 Trackbacks
          一,問題
          1.多參數回傳
          2.參數傳遞出現亂碼

          二,解決
          1.使用byte[]數組傳入c++,在生成的頭文件里就會變成jbyteArray 類型
          例如,java 中參數:byte[]account,頭文件里參數變成jbyteArray account,
          通過c++修改完account的值后,java要獲取該值,直接使用
          jbyte* jbAccount = (env)->GetByteArrayElements(env, account, 0);
          char* szAccount = (char*)jbAccount;
          指針的地址并不是account的地址,最后賦下值才行
          env->SetByteArrayRegion(account,0,strlen(szAccount),jbyte* jbAccount);

          2.String.getBytes()生成的byte數組傳入c++后,在字符串的結尾會有多余亂碼,
          解決辦法是,傳入byte數組時,把數組的長度length,也傳入c++,
          令接受的數組strBuff[length]='\0';即可解決問題
          posted on 2010-05-23 13:18 Todd 閱讀(523) 評論(0)  編輯  收藏 所屬分類: javac++
          主站蜘蛛池模板: 裕民县| 龙山县| 康定县| 长垣县| 花垣县| 湖口县| 永春县| 班戈县| 杭锦旗| 杭锦后旗| 银川市| 沙河市| 长泰县| 竹溪县| 修文县| 翁牛特旗| 青浦区| 双桥区| 锦屏县| 萨嘎县| 屏边| 禄劝| 陇南市| 渭南市| 梁平县| 明溪县| 铅山县| 凤阳县| 山阴县| 通榆县| 昌都县| 宜丰县| 工布江达县| 岫岩| 神农架林区| 保靖县| 玉门市| 凌源市| 腾冲县| 江达县| 库伦旗|