Creates a CFString object from an external Pascal string buffer that might serve as the backing store for the object.
- iOS 2.0+
- macOS 10.0+
- Mac Catalyst 13.0+Beta
- tvOS 9.0+
- watchOS 2.0+
- Core Foundation
The allocator to use to allocate memory for the new string. Pass
kto use the current default allocator.
The Pascal string to be used to create the string.
The encoding of the characters in the Pascal string.
The CFAllocator object to use to deallocate the external string buffer when it is no longer needed. Pass
kto request the default allocator for this purpose. If the buffer does not need to be deallocated, or if you want to assume responsibility for deallocating the buffer (and not have the string deallocate it), pass
An immutable string containing
NULL if there was a problem creating the object. Ownership follows the The Create Rule.
This function creates an immutable CFString objects from the character contents of a Pascal string (after stripping off the initial length byte).
Unless the situation warrants otherwise, the created object does not copy the external buffer to internal storage but instead uses the buffer as its backing store. However, you should never assume that the object is using the external buffer since the object might copy the buffer to internal storage or even dump the buffer altogether and store the characters in another way.
The function includes a
contents parameter with which to specify an allocator to use for deallocating the external buffer when the string is deallocated. If you want to assume responsibility for deallocating this memory, specify
k for this parameter.
If at creation time the string decides it can't use the buffer, and there is an allocator specified in the
contents parameter, it will use this allocator to free the buffer at that time.
If an error occurs during the creation of the string, then
p is not deallocated. In this case, the caller is responsible for freeing the buffer. This allows the caller to continue trying to create a string with the buffer, without having the buffer deallocated.