我wchar_t *需要在需要的函数上使用CFStringref
我尝试过使用,CFStringCreateWithCharacters但我没有随处可见.
所以,如果我有:
wchar_t * widecharvar = L"some value";
CFStringRef stringref;
Run Code Online (Sandbox Code Playgroud)
如何转换和复制widecharvar到stringref?该值将用于SecRequirementCreateWithString()
谢谢
我正在做我的头脑和记忆; 如果它有问题,评论,我会实际测试它.
// Check our byte order. Assuming we made the string as in your example
CFStringEncoding encoding = (CFByteOrderLittleEndian == CFByteOrderGetCurrent()) ?
kCFStringEncodingUTF32LE : kCFStringEncodingUTF32BE;
int widecharvarLen = wcslen(widecharvar);
CFStringRef string = CFStringCreateWithBytes(NULL,
widecharvar,
(widecharvarLen * sizeof(wchar_t)),
encoding,
false);
Run Code Online (Sandbox Code Playgroud)
最后一个false意味着字符串不包含BOM(字节顺序标记),这是我假设您正在处理的字符串.