请问HarmonyOS的string类型,如果转为C++中的std::string类型?

目前需要在ets中调用C的方法,在hello.cpp中声明了方法,c内部需要的参数是std::string类型,但是HarmonyOS里没有这个类型,只能传进来string类型的参数,那么在hello.cpp中我应该如何将string类型转为std::string类型呢?

HarmonyOS
2024-11-04 09:14:11
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

​参考文档:​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/napi-data-types-interfaces-V5

使用如下代码转换:​

size_t len = 0; 
napi_get_value_string_utf8(env, args[0], nullptr, 0, &len); // 获取字符串长度到len 
char *buf = new char[len + 1]; // 分配合适大小的char数组 
napi_get_value_string_utf8(env, args[0], buf, len + 1, &len); // 获取字符串 
string str = buf;
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

​可参考:​https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-ndk-development-V5

分享
微博
QQ
微信
回复
2024-11-04 15:56:45
相关问题
Resource类型如何转为String
3008浏览 • 1回复 待解决
mysql数据类型使用int类型string类型
3483浏览 • 1回复 待解决
HarmonyOS string类型字符串截取
1920浏览 • 1回复 待解决
HarmonyOS String类型没支持replaceAll
634浏览 • 1回复 待解决
HarmonyOS string.json如何定义数组类型
728浏览 • 1回复 待解决
code linter 校验return Promise<string>类型
2347浏览 • 1回复 待解决
Map类型怎么转换成Json string
3124浏览 • 1回复 待解决
如何将Resource资源对象转成string类型
4167浏览 • 1回复 待解决
ArkTS如何把string转为byte数组
3990浏览 • 1回复 待解决
鸿蒙int类型转为Color类型怎么转?
10051浏览 • 4回复 已解决