Как я могу получить содержимое std :: string в объект CFData? - PullRequest
2 голосов
/ 22 сентября 2010

У меня есть функция , которая возвращает std::string объект. Я работаю с Cocoa / CoreGraphics, и мне нужен способ получить данные из этой строки в CFData объект , чтобы я мог передать , что в CGDataProviderCreateWithCFData объект для создания CGImage.

Функция CreateCFData хочет получить объект const UInt8* (UInt8 является typedef для unsigned char). Строка представляет байты из декодированной строки Base64 (данные изображения), поэтому она содержит много нулевых «символов», поэтому очевидное приведение вывода .c_str() к объекту unsigned char* не будет работать.

Я менее опытен в C ++ и очень плохо знаком с Cocoa / CoreGraphics, поэтому, если есть гораздо лучший способ выполнить то, что я хочу сделать, пожалуйста, дайте мне знать.

1 Ответ

3 голосов
/ 22 сентября 2010

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

...