Я пытаюсь выяснить, как именно я могу соответствовать первым 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
что означает «меньше чем» в соответствии с документацией. Конечно, так как я указал диапазон, который должен соответствовать, он должен принимать во внимание только этот диапазон?
Документация может быть более понятной, но диапазон применяется только к первой строке, а не ко второй. Вот ссылка на старое сообщение в списке рассылки. Что вы не можете сказать из архива, но я знаю из моего личного архива, что тот парень, который так сказал, был инженером Apple.
Чтобы делать то, что вы хотите, вам может понадобиться CFStringCreateWithSubstring
тоже.
Других решений пока нет …