Função lstrcmpiA (winbase.h)

Compara duas cadeias de caracteres. A comparação não diferencia maiúsculas de minúsculas.

Para executar uma comparação que diferencia maiúsculas de minúsculas, use a função lstrcmp .

Sintaxe

int lstrcmpiA(
  [in] LPCSTR lpString1,
  [in] LPCSTR lpString2
);

Parâmetros

[in] lpString1

Tipo: LPCTSTR

A primeira cadeia de caracteres terminada em nulo a ser comparada.

[in] lpString2

Tipo: LPCTSTR

A segunda cadeia de caracteres terminada em nulo a ser comparada.

Retornar valor

Tipo: int

Se a cadeia de caracteres apontada por lpString1 for menor que a cadeia de caracteres apontada por lpString2, o valor retornado será negativo. Se a cadeia de caracteres apontada por lpString1 for maior que a cadeia de caracteres apontada por lpString2, o valor retornado será positivo. Se as cadeias de caracteres forem iguais, o valor retornado será zero.

Comentários

A função lstrcmpi compara duas cadeias de caracteres verificando os primeiros caracteres entre si, os segundos caracteres entre si e assim por diante até encontrar uma desigualdade ou atingir as extremidades das cadeias de caracteres.

Observe que os parâmetros lpString1 e lpString2 devem ser encerrados em nulo, caso contrário, a comparação de cadeia de caracteres pode estar incorreta.

A função chama CompareStringEx, usando a localidade do thread atual e subtrai 2 do resultado, para manter as convenções de tempo de execução C para comparar cadeias de caracteres.

Para algumas localidades, a função lstrcmpi pode ser insuficiente. Se isso ocorrer, use CompareStringEx para garantir a comparação adequada. Por exemplo, no Japão, chame com os valores NORM_IGNORECASE, NORM_IGNOREKANATYPE e NORM_IGNOREWIDTH para obter a comparação de cadeia de caracteres não exata mais apropriada. Os valores NORM_IGNOREKANATYPE e NORM_IGNOREWIDTH são ignorados em localidades não asiáticas, para que você possa definir esses valores para todas as localidades e ter a garantia de ter uma classificação "insensível" culturalmente correta, independentemente da localidade. Observe que especificar esses valores reduz o desempenho, portanto, use-os somente quando necessário.

Com uma versão DBCS (conjunto de caracteres de dois bytes) do sistema, essa função pode comparar duas cadeias de caracteres DBCS.

A função lstrcmpi usa uma classificação de palavra, em vez de uma classificação de cadeia de caracteres. Uma classificação de palavra trata hifens e apóstrofos de forma diferente do que trata outros símbolos que não são alfanuméricos, a fim de garantir que palavras como "coop" e "cooperação" permaneçam juntas dentro de uma lista classificada. Para obter uma discussão detalhada sobre classificações de palavras e classificações de cadeia de caracteres, consulte Manipulando classificação em seus aplicativos.

Comentários de segurança

Consulte Considerações de segurança: recursos internacionais para considerações de segurança sobre a escolha de funções de comparação.

Observação

O cabeçalho winbase.h define lstrcmpi como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CompareString

CompareStringEx

CompareStringOrdinal

Conceitual

Outros recursos

Referência

Cadeias de caracteres

lstrcat

lstrcmp

lstrcpy

lstrlen