作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,这与古代技术有关。我正在处理的程序端口在 Metrowerks Codewarrior 9 中维护,目标是 PPC。
用于 MSL C 的 FSRefParentAndFilename_fopen 函数
FILE * FSRefParentAndFilename_fopen(
const FSRefPtr theParentRef,
ConstHFSUniStr255Param theName,
const char *open_mode);
我需要一个 ConstHFSUniStr255Param,它是一个指向 HFSUniStr255 的指针。我有一个包含我的文件名的 CFString,我的问题是如何转换为 HFSUniStr255?
struct HFSUniStr255 {
UInt16 length;
UniChar unicode[255];
};
到目前为止我有:
HFSUniStr255 HFSString;
FSGetDataForkName(&HFSString);
HFSString.length=(uint16)CFStringGetLength(fileName);
HFSString.unicode=?
最佳答案
您可以使用以下代码段:
HFSString.length=(uint16)CFStringGetLength(fileName);
CFStringGetCharacters(filename, CFRangeMake(0, CFStringGetLength(filename)), HFSString.unicode);
但请确保您的文件名有效,尤其是其长度少于 255 个 Unicode 字符。否则您将不得不面对缓冲区溢出的后果。
关于c++ - 如何将 CFString 转换为 HFSUniStr255?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25834347/
我是一名优秀的程序员,十分优秀!