Native中 napi_get_cb_info传递的字符串类型参数,只能通过napi_get_value_string_utf8获取定长的部分吗?

napi_get_cb_info传递的字符串类型参数,通过napi_get_value_string_utf8必须传char* buf,size_t bufsize 这样如果传递是非定长的json,则不知道buf改设置多少,这里该如何处理?

HarmonyOS
2024-05-10 21:50:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
PinkFish
static napi_value Add(napi_env env, napi_callback_info info) { 
  size_t requireArgc = 1; 
  size_t argc = 1; 
  napi_value args[1] = {nullptr}; 
  size_t size; 
 
  napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); 
  napi_get_value_string_utf8(env, args[0], nullptr, 0, &size); 
 
  size_t str_size = size+1; 
  char *buf = new char [str_size]; 
  memset(buf, 0, str_size); 
  napi_get_value_string_utf8(env, args[0], buf, str_size, nullptr); 
  OH_LOG_INFO(LOG_APP, “%{public}s”, buf);
分享
微博
QQ
微信
回复
2024-05-11 11:14:16
相关问题
Native如何通过napi获取ArrayBuffer?
1467浏览 • 1回复 待解决
HTTP GET请求时如何传递参数
1427浏览 • 1回复 待解决
如何生成UUID字符串
394浏览 • 1回复 待解决
mysql替换字符串问题有知道
1629浏览 • 1回复 待解决
如何压缩字符串,有人知道
106浏览 • 1回复 待解决