2011-03-23 60 views

回答

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; 
} 
+0

爲什麼不使用'memdup'? – 2011-03-23 10:51:47

+1

@ Steve-o:'memdup'不是我聽說過的標準功能。 – Thanatos 2011-03-23 15:19:12

+0

哎呀,好吧,我在glib中使用['g_memdup'](http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-memdup)讓我感到困惑。 – 2011-03-24 03:12:30

1

沒有,但你可以要求一個和提交一個錯誤。

但是,ICU通常不會返回調用者擁有的內存 - 它使用自己的包裝malloc/free函數並定義對象的自定義刪除器。所以,這將是完全不同的。

相關問題