如何将 std::string 的内容获取到 CFData 对象中?
Posted
技术标签:
【中文标题】如何将 std::string 的内容获取到 CFData 对象中?【英文标题】:How can I get the contents of an std::string into a CFData object? 【发布时间】:2010-09-21 21:12:40 【问题描述】:我有一个function,它返回一个std::string
对象。我正在使用 Cocoa/CoreGraphics,我需要一种方法将该字符串中的数据获取到 CFData
object 以便我可以将 that 输入到 CGDataProviderCreateWithCFData
object 到制作一个CGImage
。
CreateCFData
函数需要一个 const UInt8*
对象(UInt8
是 unsigned char
的 typedef)。该字符串表示解码后的 Base64 字符串(图像数据)中的字节,因此它似乎包含许多空“字符”,因此将 .c_str()
输出明显转换为 unsigned char*
对象将不起作用。
我对 C++ 的经验较少,而且对 Cocoa/CoreGraphics 非常陌生,所以如果有更好的方法来完成我想做的事情,请告诉我。
【问题讨论】:
【参考方案1】:CFDataCreate( NULL, (const UInt8*) myString.data(), myString.size() )
【讨论】:
以上是关于如何将 std::string 的内容获取到 CFData 对象中?的主要内容,如果未能解决你的问题,请参考以下文章
C++:如何将 std::string 的内容写入 UTF-8 编码文件?
如何使用参数将 std::string 复制到 std::string?