5

你好可爱的电脑人:

我想将以下 CFStringRef 转换为 CString。知道怎么做吗?

recordFilePath = (CFStringRef)[NSTemporaryDirectory() stringByAppendingPathComponent: @"recordedFile.wav"];

谢谢!


编辑 1

DarkDust 的答案似乎很接近,但我仍然遇到错误(见评论)。有什么帮助吗?

4

2 回答 2

14

一个简单的解决方案:

CFStringGetCString(myCFStringRef, myCStringPointer, mySize, myEncoding);

签出此功能:

Boolean CFStringGetCString (
   CFStringRef theString,
   char *buffer,
   CFIndex bufferSize,
   CFStringEncoding encoding
);
于 2012-05-15T09:14:39.453 回答
7

由于 aCFStringRef可以免费转换为NSString,您可以简单地执行以下操作:

myCString = [(NSString *)myCFStringRef UTF8String];

或者在你的情况下:

myCString = [[NSTemporaryDirectory() stringByAppendingPathComponent: @"recordedFile.wav"] UTF8String];
于 2011-02-10T17:52:00.830 回答