请问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;

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

分享
微博
QQ
微信
回复
2024-11-04 15:56:45
相关问题
Resource类型如何转为String
2031浏览 • 1回复 待解决
HarmonyOS string类型字符串截取
252浏览 • 1回复 待解决
mysql数据类型使用int类型string类型
2533浏览 • 1回复 待解决
code linter 校验return Promise<string>类型
1722浏览 • 1回复 待解决
Map类型怎么转换成Json string
2071浏览 • 1回复 待解决
如何将Resource资源对象转成string类型
2980浏览 • 1回复 待解决
ArkTS如何把string转为byte数组
2782浏览 • 1回复 待解决
鸿蒙int类型转为Color类型怎么转?
8669浏览 • 4回复 已解决
Uint8Array 如何直接转为String or Json
2496浏览 • 1回复 待解决
HarmonyOS 替换string所有双引号
145浏览 • 1回复 待解决
Record<string, string>如何删除里边元素
1306浏览 • 1回复 待解决
resourcestring.json用法?
6996浏览 • 1回复 已解决