Управление непостоянными строковыми объектами
Можно выбрать из множества строковых функций объекта, чтобы добавить к и изменить содержание непостоянных CFString
объекты. Эти функции, как можно было бы ожидать, не продолжают работать неизменные CFString
объекты. Если Вы хотите изменить содержание a CFString
объект, необходимо или запустить с непостоянного содержания меньше CFString
возразите или сделайте непостоянную копию неизменного CFString
объект. Посмотрите Создающие Непостоянные Строковые Объекты для получения информации о создании объектов этого вида.
Формы мутации
Функции, управляющие непостоянный CFString
объекты попадают в несколько категорий, описанных в следующих разделах.
Добавление
Можно добавить строки во множестве форматов к непостоянному CFString
объект:прочее. CFString
объекты (CFStringAppend
), струны до (CFStringAppendCString
), символы Unicode (CFStringAppendCharacters
), и отформатированные строки (CFStringAppendFormat
и CFStringAppendFormatAndArguments
).
Вставка, удаляя, заменяя
Функции CFStringInsert
, CFStringDelete
, и CFStringReplace
выполните соответствующие операции. Эти функции требуют, чтобы Вы указали основанный на нуле индекс в, или диапазон, строка, которая будет изменена.
Дополнение и обрезка
CFStringPad
функция расширяет или усекает непостоянное CFString
к данной длине; если это расширяет строку, это дополняет указанным символом или символами. CFStringTrim
функционируйте обрезает определенный символ с обеих сторон строки. Например, вызов:
CFStringTrim(CFStringCreateMutableCopy(NULL, NULL, CFSTR("xxxabcx")), CFSTR("x")); |
привел бы к строке «abc». Связанная функция, CFStringTrimWhitespace
, делает ту же вещь с пробельными символами, включающими такие символы как вкладки и возвраты каретки.
Операции случая
Три функции изменяют случай непостоянной строки, делая все это верхним регистром (CFStringUppercase
), весь нижний регистр (CFStringLowercase
), или просто первый символ каждого слова в строковом верхнем регистре (CFStringCapitalize
).
Примеры кода
Перечисление 1 иллюстрирует несколько из функций, управляющих непостоянный CFString
объекты:
Операции Listing 1 Various на непостоянной строке
void mutableStringOperations() { |
CFMutableStringRef mstr; |
CFRange range; |
StringPtr pbuf; |
CFIndex length; |
mstr = CFStringCreateMutable(NULL, 0); |
CFStringAppend(mstr, CFSTR("Now is the time for all good men to come to the aid of their ")); |
CFStringAppend(mstr, CFSTR("party.")); |
CFShow(CFSTR("Mutable String 1 - Appended CFStrings")); |
CFShow(mstr); |
range = CFStringFind(mstr, CFSTR("good"), 0); |
if (range.length > 0) { |
CFStringReplace(mstr, range, CFSTR("bad")); |
CFShow(CFSTR("Mutable String 2 - Replaced substring")); |
CFShow(mstr); |
} |
CFStringUppercase(mstr, NULL); |
CFShow(CFSTR("Mutable String 3 - Convert to uppercase:")); |
CFShow(mstr); |
} |
Когда скомпилировано и выполнено, этот код генерирует следующий вывод:
Mutable String 1 - Appended CFStrings |
Now is the time for all good men to come to the aid of their party. |
Mutable String 2 - Replaced substring |
Now is the time for all bad men to come to the aid of their party. |
Mutable String 3 - Convert to uppercase: |
NOW IS THE TIME FOR ALL BAD MEN TO COME TO THE AID OF THEIR PARTY. |