OpenHarmony开发者论坛
标题:
从应用层传参给底层api时出错
[打印本页]
作者:
xq_qyh
时间:
2023-10-26 10:40
标题:
从应用层传参给底层api时出错
【问题描述】
问题现象和发生的背景
这是底层napi的代码
static napi_value zcwriteserial(napi_env env, napi_callback_info info) {
size_t argc=1;
napi_value args[1]={nullptr};
NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, nullptr, nullptr));
HDF_LOGE("writeinfo=%{public}s",args[0]);
char writebuff[1024]={0};
size_t* result1;
NAPI_CALL(env,napi_get_value_string_utf8(env,args[0],writebuff,1024,result1));
HDF_LOGE("writebuff=%{pubkic}s",writebuff);
int res=writetest1(writebuff);
HDF_LOGE("write res= %{public}d",res);
napi_value result;
NAPI_CALL(env,napi_create_string_utf8(env,writebuff,512,&result));
}
复制代码
这是我在应用层上的代码,我传递的明明是“123”打印出来却是别的,有大佬知道是为什么吗
(, 下载次数: 0)
上传
点击文件名下载附件
我想要达到的结果
【运行环境】
硬件:rk3568
ROM版本:3.2release
DevEvoStudio版本:4.0
SDK版本:9
作者:
马迪
时间:
2023-10-26 17:43
[md]不能直接打印args[0],需要通过napi_get_value_string_utf8 把napi类型转C/C++数据类型
``
char writebuff[1024] = {0};
size_t s = 0;
napi_get_value_string_utf8(env, args[0], writebuff, 1024, &s);
```
OH_LOG_Print(LOG_APP, LOG_INFO, GLOBAL_RESMGR, TAG, "test res = %{public}s", writebuff);
```
```
可以参考
https://gitee.com/openharmony-si ... s/napi_data_type.md
```
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5