问题是不言自明的。我正在使用C API。
答案 0 :(得分:2)
不,但它很容易实现。它只是:
UChar *u_strdup(UChar *in) {
uint32_t len = u_strlen(in) + 1;
UChar *result = malloc(sizeof(UChar) * len);
u_memcpy(result, in, len);
return result;
}
答案 1 :(得分:1)
没有,但您可以请求一个并提交错误。
但是,ICU通常不返回调用者拥有的内存 - 它使用自己的包装malloc / free函数并在对象上定义自定义删除器。所以,这将是完全不同的。
答案 2 :(得分:1)
结帐_strdup, _wcsdup, _mbsdup
。 _wcsdup和_mbsdup是strdup的宽字节和多字节版本。