Compartilhar via


CompareString

Windows Mobile SupportedWindows Embedded CE Supported

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

See Also

Reference

GetSystemDefaultLCID
MAKELCID