Compartir a través de


Función lstrcmpiA (winbase.h)

Compara dos cadenas de caracteres. La comparación no distingue mayúsculas de minúsculas.

Para realizar una comparación que distingue mayúsculas de minúsculas, use la función lstrcmp.

Sintaxis

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

Parámetros

[in] lpString1

Tipo: LPCTSTR de

Primera cadena terminada en NULL que se va a comparar.

[in] lpString2

Tipo: LPCTSTR de

Segunda cadena terminada en NULL que se va a comparar.

Valor devuelto

Tipo: int

Si la cadena a la que apunta lpString1 es menor que la cadena a la que apunta lpString2, el valor devuelto es negativo. Si la cadena a la que apunta lpString1 es mayor que la cadena a la que apunta lpString2, el valor devuelto es positivo. Si las cadenas son iguales, el valor devuelto es cero.

Observaciones

La función lstrcmpi compara dos cadenas comprobando los primeros caracteres entre sí, los segundos caracteres entre sí, etc. hasta que encuentre una desigualdad o alcance los extremos de las cadenas.

Tenga en cuenta que los parámetros de lpString1 y lpString2 deben terminar en null; de lo contrario, la comparación de cadenas puede ser incorrecta.

La función llama a CompareStringEx, mediante la configuración regional del subproceso actual y resta 2 del resultado, para mantener las convenciones en tiempo de ejecución de C para comparar cadenas.

En algunas configuraciones regionales, la función lstrcmpi puede ser insuficiente. Si esto ocurre, use CompareStringEx para garantizar una comparación adecuada. Por ejemplo, en Japón, llame a con los valores de NORM_IGNORECASE, NORM_IGNOREKANATYPEy NORM_IGNOREWIDTH para lograr la comparación de cadenas no exactas más adecuada. Los valores NORM_IGNOREKANATYPE y NORM_IGNOREWIDTH se omiten en configuraciones regionales no asiáticas, por lo que puede establecer estos valores para todas las configuraciones regionales y garantizarse que tengan una ordenación "sin distinción" culturalmente correcta, independientemente de la configuración regional. Tenga en cuenta que especificar estos valores ralentiza el rendimiento, así que úselos solo cuando sea necesario.

Con una versión de juego de caracteres de doble byte (DBCS) del sistema, esta función puede comparar dos cadenas DBCS.

La función lstrcmpi usa una ordenación de palabras, en lugar de una ordenación de cadena. Una ordenación de palabras trata guiones y apóstrofos de forma diferente a los que trata otros símbolos que no son alfanuméricos, con el fin de asegurarse de que las palabras como "coop" y "co-op" permanecen juntas dentro de una lista ordenada. Para obtener una explicación detallada de las ordenes de palabras y las ordenación de cadenas, consulte Control de la ordenación en Su aplicación.

Comentarios de seguridad de

Consulte Consideraciones de seguridad: Características internacionales para conocer las consideraciones de seguridad relacionadas con la elección de funciones de comparación.

Nota

El encabezado winbase.h define lstrcmpi como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winbase.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

CompareString

CompareStringEx

compareStringOrdinal

conceptual de

otros recursos

de referencia de

cadenas de

lstrcat

lstrcmp

lstrcpy

lstrlen