[swift-users] UnsafePointer<Int8> and C-String

Rien Rien at Balancingrock.nl
Tue Jan 3 06:28:40 CST 2017


The documentation at https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html shows that it is possible to use String where an UnsafePointer<Int8> is needed.
API calls to C that need a char* are translated to UnsafePointer<Int8>.
It follows that we can use a String where a char* is needed.

However in C a string is not only a char*, it is also null-terminated.

What I cannot find though is the guarantee that the buffer where the String is converted to an UTF8 sequence is always null-terminated.

I very much suspect it is, and all my tests did find a null-terminated string.

Question: Does anybody know for sure that the buffer is always null-terminated? (a link to where I can check this would be most appreciated)

Regards,
Rien

Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Swiftrien
Project: http://swiftfire.nl




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170103/76174114/attachment.html>


More information about the swift-users mailing list