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
按赞同
/
按时间
社恐的小美
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
相关问题
HarmonyOS string类型字符串截取
618浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer?
3654浏览 • 1回复 待解决
HTTP GET请求时如何传递参数
3143浏览 • 1回复 待解决
ResourceStr 类型如何转成字符串
261浏览 • 1回复 待解决