|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
GetStringTypeW
The GetStringTypeW function returns character-type information for the characters in the specified source string. For each character in the string, the function sets one or more bits in the corresponding 16-bit element of the output array. Each bit identifies a given character type, such as whether the character is a letter, a digit, or neither.
BOOL GetStringTypeW(
DWORD dwInfoType, // information-type options LPCWSTR lpSrcStr, // address of source string int cchSrc, // number of characters in string LPWORD lpCharType // address of buffer for output );
Parameters
dwInfoType
Specifies the type of character information the user wants to retrieve. The various types are divided into different levels (see the following Remarks section for a list of the information included in each type). This parameter can specify one of the following character type flags:
CT_CTYPE1 Retrieve character type information. CT_CTYPE2 Retrieve bidirectional layout information. CT_CTYPE3 Retrieve text processing information.
lpSrcStr
Points to the string for which character types are requested. If cchSrc is -1, the string is assumed to be null terminated. This must be a Unicode string.
cchSrc
Specifies the size, in characters, of the string pointed to by the lpSrcStr parameter. If this count includes a null terminator, the function returns character type information for the null terminator. If this value is -1, the string is assumed to be null terminated and the length is calculated automatically.
lpCharType
Points to an array of 16-bit values. The length of this array must be large enough to receive one 16-bit value for the number of characters specified in the cchSrc parameter. When the function returns, this array contains one word corresponding to each Unicode character in the source string.
Return Values
If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. GetLastError may return one of the following error codes: ERROR_INVALID_FLAGS ERROR_INVALID_PARAMETER
Remarks
Note that the GetStringTypeA function has one more parameter than the GetStringTypeW function: GetStringTypeA has a first parameter that is an LCID named Locale. This parameter does not exist in the GetStringTypeW function. Because of that parameter difference, an application cannot automatically invoke the proper A or W version of GetStringType* through the use of the #define UNICODE switch. An application can circumvent this limitation by using GetStringTypeEx; it is the recommended Win32 function.
The lpSrcStr and lpCharType pointers must not be the same. If they are the same, the function fails and GetLastError returns ERROR_INVALID_PARAMETER. The character-type bits are divided into several levels. The information for one level can be retrieved by a single call to this function. Each level is limited to 16 bits of information so that the other mapping routines, which are limited to 16 bits of representation per character, can also return character-type information.
The character types supported by this function include the following.
Ctype 1
These types support ANSI C and POSIX (LC_CTYPE) character-typing functions. A combination of these values is returned in the array pointed to by the lpCharType parameter when the dwInfoType parameter is set to CT_CTYPE1.
Name Value Meaning C1_UPPER 0x0001 Uppercase C1_LOWER 0x0002 Lowercase C1_DIGIT 0x0004 Decimal digits C1_SPACE 0x0008 Space characters C1_PUNCT 0x0010 Punctuation C1_CNTRL 0x0020 Control characters C1_BLANK 0x0040 Blank characters C1_XDIGIT 0x0080 Hexadecimal digits C1_ALPHA 0x0100 Any linguistic character: alphabetic, syllabary, or ideographic
The following character types are either constant or computable from basic types and do not need to be supported by this function.
Type Description Alphanumeric Alphabetic characters and digits (C1_ALPHA and C1_DIGIT) Printable Graphic characters and blanks (all C1_* types except C1_CNTRL)
Ctype 2
These types support proper layout of Unicode text. The direction attributes are assigned so that the bidirectional layout algorithm standardized by Unicode produces accurate results. These types are mutually exclusive. For more information about the use of these attributes, see The Unicode Standard: Worldwide Character Encoding, Volumes 1 and 2, Addison Wesley Publishing Company: 1991, 1992, ISBN 0201567881.
Name Value Meaning Strong: C2_LEFTTORIGHT 0x1 Left to right C2_RIGHTTOLEFT 0x2 Right to left Weak: C2_EUROPENUMBER 0x3 European number, European digit C2_EUROPESEPARATOR 0x4 European numeric separator C2_EUROPETERMINATOR 0x5 European numeric terminator C2_ARABICNUMBER 0x6 Arabic number C2_COMMONSEPARATOR 0x7 Common numeric separator Neutral: C2_BLOCKSEPARATOR 0x8 Block separator C2_SEGMENTSEPARATOR 0x9 Segment separator C2_WHITESPACE 0xA White space C2_OTHERNEUTRAL 0xB Other neutrals Not applicable: C2_NOTAPPLICABLE 0x0 No implicit directionality (for example, control codes)
Ctype 3
These types are intended to be placeholders for extensions to the POSIX types required for general text processing or for the standard C library functions. These types are supported in the current version of Windows NT. A combination of these values is returned when dwInfoType is set to CT_CTYPE3.
Name Value Meaning C3_NONSPACING 0x1 Nonspacing mark C3_DIACRITIC 0x2 Diacritic nonspacing mark C3_VOWELMARK 0x4 Vowel nonspacing mark C3_SYMBOL 0x8 Symbol C3_KATAKANA 0x10 Katakana character C3_HIRAGANA 0x20 Hiragana character C3_HALFWIDTH 0x40 Half-width character C3_FULLWIDTH 0x80 Full-width character C3_IDEOGRAPH 0x100 Ideographic character C3_KASHIDA 0x200 Arabic Kashida character C3_ALPHA 0x8000 All linguistic characters (alphabetic, syllabary, and ideographic) Not applicable: C3_NOTAPPLICABLE 0x0 Not applicable
See Also
GetLocaleInfo, GetStringTypeA, GetStringTypeEx
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
GetStringTypeW
Функция GetStringTypeW возвращает символьный тип информации для символов в определенной исходной строке. Для каждого символа в строке, функция устанавливает один или более битов в соответствующем 16- битовом элементе выходного массива. Каждый бит идентифицирует данный символьный тип, как например, независимо символ - письмо, цифра, или никакое.
BOOL GetStringTypeW(
DWORD dwInfoType, // ИНФОРМАЦИОННЫЙ тип опций LPCWSTR lpSrcStr, // адреса исходной строки int cchSrc, // количество символов в адресе строки LPWORD lpCharType // буфера для выхода );
Параметры
dwInfoType
Определяет тип символьной информации, что пользователь хочет извлекать. Различные типы подразделены на другие уровни (смотри секцию Замечаний следующего для списка информации включенной в каждый тип). Этот параметр может определить один из следующих символьных флагов типа:
CT_CTYPE1 Извлекает символьную информацию типа. CT_CTYPE2 Извлекает двунаправленную информацию формата. CT_CTYPE3 Извлекает текст, обрабатывающий информацию.
lpSrcStr
Точки на строку для которых символьные типы требуются. Если cchSrc - -1, строка принята, чтобы быть недействительно расторгнутым. Это должно быть строкой Уникода.
cchSrc
Определяет размер, в символах, строки указанной, чтобы параметром lpSrcStr. Если этот счет включает недействительный терминатор, функция возвращает символьную информацию типа для недействительного терминатора. Если эта величина - -1, строка принята, чтобы быть недействительно расторгнутым и длина вычисляется автоматически.
lpCharType
Точки на массив 16- битовых величин. Длина этого массива должна быть большой достаточно, чтобы получать один 16- битовая величина для количества символов определенных в параметре cchSrc. Когда функция возвращается, этот массив содержит одно слово, соответствуемое в каждый символ Уникода в исходной строке.
Обратные Величины
Если функция добивается успеха, обратная величина ненулевая. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError. GetLastError МОЖЕТ возвращать один из следующих кодов ошибки: ERROR_INVALID_FLAGS ERROR_INVALID_PARAMETER
Замечания
Отметьте, что функция GetStringTypeA имеет еще один параметр чем функцию GetStringTypeW: GetStringTypeA имеет первый параметр, который - LCID назвавшее Место действия. Этот параметр не существует в функции GetStringTypeW. Из-за этого различия параметра, приложение не может автоматически ввести соответствующую A или версию W GetStringType* с помощью #define ключа УНИКОДА. Приложение может обойти это ограничение используя GetStringTypeEx; это - рекомендуемая функция Win32.
lpSrcStr И указатели lpCharType не должны быть теми же. Если они - те же, функция терпит неудачу и возврат GetLastError ERROR_INVALID_PARAMETER. Символьный тип битов подразделен на несколько уровни. Информация для одного уровня может быть извлечена единственным вызовом в эту функцию. Каждый уровень ограниченный 16 битами информации чтобы другое распределение программ, которое ограниченное 16 битами представления за символ, может также возвращать символьный тип информации.
Символьные типы поддерживанные этой функцией включают следующее.
Ctype 1
Эти типы поддерживают ANSI C и POSIX функций (LC_CTYPE) символьное занесение. Комбинация этих величин возвращана в массив указанный, чтобы параметром lpCharType когда параметр dwInfoType установлен на CT_CTYPE1.
Величина Имени, означающая, что C1_UPPER 0x0001 Uppercase C1_LOWER 0x0002 0x0004 Десятичное 0x0008 Пространство цифр Lowercase C1_DIGIT символов C1_SPACE C1_PUNCT 0x0010 Punctuation C1_CNTRL 0x0020 Управляет 0x0040 Чистые символы символов C1_BLANK 0x0080 Шестнадцатеричных цифр C1_XDIGIT C1_ALPHA 0x0100 Любой лингвистический символ: алфавитный, syllabary, или ideographic
Следующие символьные типы - или постоянный или вычислимый из основных типов и не должно быть поддерживано этой функцией.
Описание Типа Текстовые Алфавитные символы и цифры (C1_ALPHA и C1_DIGIT) Выводимые символы Графического символа и пробелов (все C1_* типы кроме C1_CNTRL)
Ctype 2
Эти типы поддерживают соответствующий формат текста Уникода. Атрибуты направления назначены чтобы двунаправленный алгоритм формата нормализовался выдачей Уникода точных результатов. Эти типы взаимно исключительные. Более подробно об использовании этих атрибутов, смотри Стандарт Уникода: Всемирное Символьное Кодирование, Объемы 1 и 2, Addison Wesley, публикующий Компанию: 1991, 1992, ISBN 0201567881.
Величина Имени, означающая Прочным: C2_LEFTTORIGHT 0x1 Слева направо C2_RIGHTTOLEFT 0x2 Справа налево Слабый: 0x3 Европейский номер C2_EUROPENUMBER, Европейский 0x4 Европейский числовой разделитель цифры C2_EUROPESEPARATOR 0x5 Европейского числового терминатора C2_EUROPETERMINATOR 0x6 Арабского числа C2_ARABICNUMBER 0x7 Общего числового разделителя C2_COMMONSEPARATOR Нейтральный: разделитель 0x9 Сегмента 0x8 Блока C2_BLOCKSEPARATOR разделителя C2_SEGMENTSEPARATOR C2_WHITESPACE 0xA White space C2_OTHERNEUTRAL 0xB Другое нейтральное Не прилагаемый: C2_NOTAPPLICABLE 0x0 No подразумевающийся directionality (например, управляющие коды)
Ctype 3
Эти типы собираются быть метка-заполнители для расширений в типы необходимый POSIX для общей текстовой обработки или для стандартных библиотечных функций C. Эти типы поддерживаны в текущей версии Windows NT. Комбинация этих величин возвращана когда dwInfoType установлен на CT_CTYPE3.
Величина Имени, означающая C3_NONSPACING отметки 0x1 Nonspacing 0x2 Диакритической nonspacing отметки C3_DIACRITIC 0x4 Гласной C3_VOWELMARK nonspacing отметка C3_SYMBOL 0x8 Symbol C3_KATAKANA символа 0x10 Katakana C3_HIRAGANA 0x20 Hiragana символьный C3_HALFWIDTH 0x40 Половина-широтный символ C3_FULLWIDTH 0x80 Полный-широтный символ C3_IDEOGRAPH символа 0x100 Ideographic C3_KASHIDA символа 0x200 Arabic Kashida C3_ALPHA 0x8000 Все лингвистические символы (алфавитная, syllabary, и ideographic) Не прилагаемый: C3_NOTAPPLICABLE 0x0 Не прилагаемый
Смотри Также
GetLocaleInfo, GetStringTypeA, GetStringTypeEx
|
|
|
|
| |