将 CFStringRef 转换为 C 字符串?

发布于 2024-10-17 00:21:50 字数 278 浏览 4 评论 0原文

你好可爱的计算机人:

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

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

谢谢!


编辑 1

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

Hello lovely computer people:

I would like to convert the following CFStringRef into a CString. Any idea how?

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

Thanks!


EDIT 1

DarkDust answer seems to come close, but I'm still getting an error (see comment). Any help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三月梨花 2024-10-24 00:21:50

一个简单的解决方案:

CFStringGetCString(myCFStringRef, myCStringPointer, mySize, myEncoding);

检查这个函数:

Boolean CFStringGetCString (
   CFStringRef theString,
   char *buffer,
   CFIndex bufferSize,
   CFStringEncoding encoding
);

A straightforward solution:

CFStringGetCString(myCFStringRef, myCStringPointer, mySize, myEncoding);

Checkout this function:

Boolean CFStringGetCString (
   CFStringRef theString,
   char *buffer,
   CFIndex bufferSize,
   CFStringEncoding encoding
);
就是爱搞怪 2024-10-24 00:21:50

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

myCString = [(NSString *)myCFStringRef UTF8String];

或者根据您的情况:

myCString = [[NSTemporaryDirectory() stringByAppendingPathComponent: @"recordedFile.wav"] UTF8String];

Since a CFStringRef can be toll-free casted to NSString, you can simply do:

myCString = [(NSString *)myCFStringRef UTF8String];

or in your case:

myCString = [[NSTemporaryDirectory() stringByAppendingPathComponent: @"recordedFile.wav"] UTF8String];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文