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 閱讀(522) 評論(0)  編輯  收藏 所屬分類: javac++
          主站蜘蛛池模板: 新建县| 洛浦县| 漳平市| 新安县| 长岭县| 开原市| 红河县| 诸城市| 思茅市| 察隅县| 手游| 日照市| 蓝田县| 明光市| 永泰县| 龙江县| 卢龙县| 登封市| 南漳县| 金乡县| 永州市| 开封县| 晋城| 峨山| 广汉市| 德安县| 屏东市| 丘北县| 清徐县| 宜都市| 密云县| 株洲县| 锡林郭勒盟| 遂川县| 稻城县| 沛县| 汶上县| 芦溪县| 宝丰县| 邹平县| 阜康市|