gpt4 book ai didi

iphone - 当使用UTF8String将NSString转换为char*时,如何保留它?

转载 作者:行者123 更新时间:2023-12-03 20:24:17 25 4
gpt4 key购买 nike

使用UTF8String将NSString转换为char*时,如何保留它?

根据以下链接,当您使用 UTF8String 时,返回的 char* 几乎是自动释放的,因此它不会持续超出当前函数:http://developer.apple.com/mac/library/documentation/cocoa/reference/Foundation/Classes/NSString_Class/Reference/NSString.html#jumpTo_128

它说我必须复制它或其他东西才能保留它。我该怎么做?

我问的原因是,如果我执行 [myCharPointer keep],它不会保留它,因为它不是 obj-c 对象,而是一个 c 指针。

谢谢

最佳答案

您可以使用strdup()

const char* utf8Str = [@"an example string" UTF8String];
if (utf8Str != NULL)
{
stringIWantToKeep = strdup(utf8Str);
}

当您使用完 stringIWantToKeep 后,您可以释放它,就好像它最初是 malloc 的一样。

关于iphone - 当使用UTF8String将NSString转换为char*时,如何保留它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3187014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com