我有一个具有以下功能的库:
int get_user_name(const char **buffer);
在swift中,应该像这样打电话:
var name:CMutablePointer<CString> = nil
get_user_name(name)
我想让这个功能更舒服,所以我把它包起来了:
func get_username() -> String {
var name:CMutablePointer<CString> = nil
get_user_name(name)
// how to convert name to String
}
我的问题是如何将名称转换为字符串
答案 0 :(得分:5)
它类似于:
var stringValue :CString = ""
name.withUnsafePointer {p in
stringValue = p.memory
}
return NSString(CString: stringValue)
答案 1 :(得分:0)
你可以这样做:
return NSString(UTF8String: name[0])