CMutablePointer<CString> to String in swift-language

这一生的挚爱 提交于 2019-12-21 19:56:54

问题


I have a library which has a function like this:

int get_user_name(const char **buffer);

in swift, should call like this:

var name:CMutablePointer<CString> = nil
get_user_name(name)

I want make use this function more comfortable so I wrapped this up:

func get_username() -> String {
    var name:CMutablePointer<CString> = nil
    get_user_name(name)

    // how to convert name to String
}

I question is how to convert name to String


回答1:


It goes something like:

 var stringValue :CString = ""

 name.withUnsafePointer {p in
      stringValue = p.memory
 }

 return NSString(CString: stringValue)



回答2:


You can do:

return NSString(UTF8String: name[0])


来源:https://stackoverflow.com/questions/24084352/cmutablepointercstring-to-string-in-swift-language

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!