c++ - 如何将 std::string 的内容获取到 CFData 对象中?

标签 c++ cocoa core-graphics cgimage cfdata

我有一个 function返回一个 std::string 对象。我正在使用 Cocoa/CoreGraphics,我需要一种方法将该字符串中的数据获取到 CFData object这样我就可以将其输入到 CGDataProviderCreateWithCFData object 中制作CGImage

CreateCFData 函数需要一个 const UInt8* 对象(UInt8unsigned char 的 typedef)。该字符串表示解码后的 Base64 字符串(图像数据)中的字节,因此它似乎包含许多空“字符”,因此 .c_str() 输出明显转换为 unsigned char * 对象将不起作用。

我对 C++ 的经验较少,并且对 Cocoa/CoreGraphics 非常陌生,因此如果有更好的方法来完成我想做的事情,请告诉我。

最佳答案

CFDataCreate( NULL, (const UInt8*) myString.data(), myString.size() )

关于c++ - 如何将 std::string 的内容获取到 CFData 对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764512/

相关文章:

c++ - 将字符串流传递给函数

objective-c - 如何检查 NSWindow 是否可见

objective-c - 设置属性时执行附加代码的正确方法

ios - 使用 Swift 3.0 实时画线

c++ - 保证复制省略的替代方法

c++ - 读取由空格或换行符分隔的输入...?

C++ Windows 最小化未注册

swift - Swift 中的drawGlyphsForGlyphRange(显示不可见字符)。已弃用替换GlyphAtIndex

ios - 绘制多条线 Core Graphics

objective-c - 构建具有多个可拉伸(stretch)图像的 UIImage