Многие строковые функции дублируют или улучшают привычные строковые функции из библиотеки стандартных функций C периода исполнения программы (CRT). Многие из расширений дают возможность строковым функциям работать с Unicode или расширенными наборами символов. Нижеследующая таблица показывает функции CRT, функции, которые расширяют функции CRT для Unicode и функции StrSafe (из заголовочного файла StrSafe.h).
Стандартные функции CRT |
Строковые функции |
Функции StrSafe |
|---|---|---|
| strcat | lstrcat | StringCchCat, StringCchCatEx, StringCbCat, StringCbCatEx |
| strcmp | lstrcmp | (эквивалента функции нет) |
| strcmpi | lstrcmpi | (эквивалента функции нет) |
| strcpy | lstrcpy | StringCchCopy, StringCchCopyEx, StringCbCopy, StringCbCopyEx |
| strlen | lstrlen | StringCchLength, StringCbLength |
Функция strlen, например, всегда возвращает число байтов в строке, а функция lstrlen возвращает число TCHARs, которое ссылается на байты для функции версии ANSI или WCHARs для версий Unicode.
Нижеследующие строковые функции отличаются от стандартных функций C, таких как tolower и toupper тем, что, они оперируют любым символом в наборе символов. При помощи использования функции CharLower, например, приложение может преобразовать верхний регистр U с умлаутом (Ü) на нижний регистр этого символа (ü). Для получения дополнительной информации о наборах символов, см. статью Однобайтовые наборы символов.
Функция |
Описание |
|---|---|
| CharLower | Преобразует символ или строку в нижний регистр. |
| CharLowerBuff | Преобразует строку символов в нижний регистр. |
| CharNext | Перемещает следующий символ в строке. |
| CharPrev | Перемещает предыдующий символ в строке. |
| CharUpper | Преобразует символ или строку в верхний регистр. |
| CharUpperBuff | Преобразует строку в верхний регистр. |
Нижеследующие строковые функции делают распознавание символа основываясь на семантике языка выбранного пользователем. Эти функции - включают Unicode.
Функция |
Описание |
|---|---|
| IsCharAlpha | Определяет, является ли символ буквой алфавита. |
| IsCharAlphaNumeric | Определяет, является ли символ буквенно-цифровым. |
| IsCharLower | Определяет, является ли символ в нижнем регистре. |
| IsCharUpper | Определяет, является ли символ в верхнем регистре. |
Нижеследующая таблица показывает расширения Unicode стандартных функции sprintf и vsprintf языка Cи периода выполнения программы (CRT).
Стандартные функции CRT |
Строковые функции |
Функции StrSafe |
|---|---|---|
| sprintf | wsprintf | StringCchPrintf, StringCchPrintfEx, StringCbPrintf, StringCbPrintfEx |
| vsprintf | wvsprintf | StringCchVPrintf, StringCchVPrintfEx, StringCbVPrintf, StringCbVPrintfEx |