CompareString
9/8/2008
Essa função compara duas seqüências caractere, usando a localidade especificada pelo identificador especificado como a base para a comparação.
Syntax
int CompareString(
LCID Locale,
DWORD dwCmpFlags,
LPCTSTR lpString1,
int cchCount1,
LPCTSTR lpString2,
int cchCount2
);
Parameters
Localidade
[no] Valor que especifica a localidade usada para a comparação. Este parâmetro pode ser uma do seguinte predefinidos identificadores localidade. A seguinte tabela mostra os valores este parâmetro pode demorar.Valor Descrição LOCALE_SYSTEM_DEFAULT
Localidade usar como padrão do sistema.
LOCALE_USER_DEFAULT
O atual localidade usar como padrão do usuário.
Este parâmetro também pode ser um identificador localidade criado pelo MAKELCID macro.
dwCmpFlags
[no] Conjunto de sinalizadores que indicam como a função compara as duas seqüências de caracteres. Por padrão, esses sinalizadores não são definidas. Este parâmetro pode especificar zero para o comportamento usar como padrão get ou ele pode ser qualquer combinação dos seguinte valores. A seguinte tabela mostra os valores este parâmetro pode demorar.Valor Descrição NORM_IGNORECASE
Ignore maiúsculas e minúsculas.
NORM_IGNOREKANATYPE
Não diferenciar entre caracteres hiragana e katakana. Caracteres correspondente hiragana e katakana comparam como igual.
NORM_IGNORENONSPACE
Ignore caracteres nonspacing.
NORM_IGNORESYMBOLS
Ignore símbolos.
NORM_IGNOREWIDTH
Não diferenciar entre um único-byte caractere e o mesmo caractere como um double-byte character.
SORT_STRINGSORT
Trate a pontuação o mesmo como símbolos.
- lpString1
[no] Ponteiro para a primeira seqüência de caracteres a ser comparada.
- cchCount1
[no] Tamanho, em caracteres, da seqüência de caracteres apontado pelo lpString1 parâmetro. Se este parâmetro é – 1, o seqüência de caracteres será considerado NULL finalizado e o comprimento é calculado automaticamente.
- lpString2
[no] Ponteiro para o segundo seqüência de caracteres a ser comparada.
- cchCount2
[no] Tamanho, em caracteres, da seqüência de caracteres apontado pelo lpString2 parâmetro. Se este parâmetro é – 1, o seqüência de caracteres será considerado NULL finalizado e o comprimento é calculado automaticamente.
Return Value
Se a função for bem-sucedido, o valor de retorno é um dos seguinte valores.
Valor | Descrição |
---|---|
CSTR_LESS_THAN |
O seqüência de caracteres apontado pelo lpString1 Menor valor léxica em que o seqüência de caracteres apontado pelo parâmetro é o lpString2 parâmetro. |
CSTR_EQUAL |
O seqüência de caracteres apontado pelo lpString1 é igual no valor léxica a seqüência de caracteres apontado pelo lpString2. |
CSTR_GREATER_THAN |
O seqüência de caracteres apontado pelo lpString1 for maior em valor léxica que a seqüência de caracteres apontado pelo lpString2. |
Zero indica falha. Para informações de erro estendidas get, chamar a função GetLastError. Valores possíveis para GetLastError Incluir o seguinte:
- ERROR_INVALID_FLAGS
- ERROR_INVALID_PARAMETER
Remarks
Observe que se o valor de retorno é CSTR_EQUAL, que é o valor 2, as duas seqüências são "Iguais" o agrupamento sentido, embora não necessariamente idênticos.
Para manter a executar C-tempo convenção de comparar seqüências de caracteres, o valor 2 pode ser subtraída de um diferente de zero valor de retorno. O significado dos < 0, == 0 e > 0 é consistente com a C executar horas.
Se as duas seqüências são de diferentes comprimentos, eles serão comparados até o comprimento do que mais curto. Se eles forem iguais para que apontar, em seguida, o valor de retorno será indicam que a seqüência de caracteres mais é maior. Para obter mais informações sobre identificadores localidade, consulte Identificadores de localidade suporte (NLS) idioma nacional.
Seqüências de caracteres são comparadas usando o que é chamado um "classificar seqüência de caracteres" técnica. Em classificar um seqüência de caracteres, o hífen e apóstrofo são tratados assim como quaisquer outros símbolos nonalphanumeric: eles vierem antes de alfanumérico símbolos.
A seguinte lista de palavras é classificada usando um classificar seqüência de caracteres.
da Cobrança |
ANT t |
billet |
t-aria |
Títulos |
Tanya |
Não é possível |
Do Sue |
Não é possível |
processamos |
Não conseguir |
sues |
Co-op |
Estamos |
CON |
Entrou |
coop |
Foram |
O LCMapString função padrão usando classificar uma palavra, mas usa um classificar seqüência de caracteres se o chamador define o sinalizador SORT_STRINGSORT.
O CompareString função é otimizada para executar a velocidade mais alta quando dwCmpFlags é definido como zero ou NORM_IGNORECASE, e cchCount1 e cchCount2 Ter o valor – 1.
Requirements
Header | winnls.h |
Library | Coreloc.lib |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |