Xianng
Xianng

Reputation: 332

how to create a CStirng from ConstUnsafePointer in Swift

i know CString can init with UnsafePointer ,but how to create it with ConstUnsafePointer

the error of the code: ConstUnsafePointer is not convertible to UnsafePointer

     var result:ConstUnsafePointer = sqlite3_column_text(stmt, num)
     let cstr:CString = CString(result)

or how to convert it to UnsafePointer

Upvotes: 1

Views: 568

Answers (2)

newacct
newacct

Reputation: 122518

You just need to go through UnsafePointer:

var result: ConstUnsafePointer<UInt8> = sqlite3_column_text(stmt, num)
let cstr: CString = CString(UnsafePointer<UInt8>(result))

Upvotes: 2

vladof81
vladof81

Reputation: 26509

Please replace LENGTH with your variable.

var result: ConstUnsafePointer = sqlite3_column_text(stmt, num)
var resultToString: NSString = NSString(bytes: result, length: LENGTH, encoding: NSUTF8StringEncoding)
var cstring: CString = resultToString.UTF8String

Upvotes: 1

Related Questions