首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将CFString转换为HFSUniStr255?

如何将CFString转换为HFSUniStr255?
EN

Stack Overflow用户
提问于 2014-09-14 14:33:06
回答 1查看 212关注 0票数 0

首先,这与古代技术有关。我正在处理的程序端口是在Metrowerks代码战士9中维护的,目标是PPC。

用于MSL的FSRefParentAndFilename_fopen函数

代码语言:javascript
复制
FILE * FSRefParentAndFilename_fopen(
const FSRefPtr theParentRef,
ConstHFSUniStr255Param theName,
const char *open_mode);

我需要一个ConstHFSUniStr255Param,它是指向HFSUniStr255的指针。我有一个包含文件名的CFString,我的问题是如何转换为HFSUniStr255?

代码语言:javascript
复制
struct HFSUniStr255 {
UInt16 length;
UniChar unicode[255];
};

到目前为止,我已经:

代码语言:javascript
复制
HFSUniStr255 HFSString;
FSGetDataForkName(&HFSString);
HFSString.length=(uint16)CFStringGetLength(fileName);
HFSString.unicode=?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-14 14:49:44

您可以使用以下代码片段:

代码语言:javascript
复制
HFSString.length=(uint16)CFStringGetLength(fileName);
CFStringGetCharacters(filename, CFRangeMake(0, CFStringGetLength(filename)), HFSString.unicode);

但是,请确保您的文件名是有效的,特别是它的长度小于255个Unicode字符。否则,您将不得不面对缓冲区溢出的后果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25834347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档