【问题标题】:Strange behaviour from CFStringCompareWithOptions来自 CFStringCompareWithOptions 的奇怪行为
【发布时间】:2012-12-17 16:49:41
【问题描述】:

我正在尝试找出如何将字符串的第一个 n 字符与另一个字符匹配。这是我目前得到的一些代码:

CFStringRef myStringRef = CFSTR("hello");
CFStringRef otherStringRef = CFSTR("helloworld");

CFIndex cmpChars = CFStringGetLength(myStringRef);

CFComparisonResult res = CFStringCompareWithOptions(myStringRef, otherStringRef, CFRangeMake(0, cmpChars), kCFCompareCaseInsensitive);

printf("Res: %i\n", (int)res);

根据文档,我将res 的值设为-1,意思是“小于”。当然,既然我指定了要匹配的范围,那么它应该只考虑该范围吗?

【问题讨论】:

    标签: c++ macos core-foundation cfstring


    【解决方案1】:

    文档可能更清楚,但范围仅适用于第一个字符串,而不适用于第二个。 Here's a link to an old mailing list message.你不能从档案中看出什么,但我从我的个人档案中知道,这么说的人是苹果工程师。

    要做你想做的事,你可能也需要使用CFStringCreateWithSubstring

    【讨论】:

    猜你喜欢
    • 2020-02-10
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多