Compartir a través de


Función lstrcmpiA (winbase.h)

Compara dos cadenas de caracteres. La comparación no distingue entre mayúsculas y 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

Primera cadena terminada en NULL que se va a comparar.

[in] lpString2

Tipo: LPCTSTR

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.

Comentarios

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

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

La función llama a CompareStringEx, utilizando 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.

Para 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 NORM_IGNORECASE, NORM_IGNOREKANATYPE y NORM_IGNOREWIDTH para lograr la comparación de cadenas no exacta más adecuada. Los valores de 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, por lo 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 demás símbolos que no son alfanuméricos, con el fin de garantizar que las palabras como "coop" y "co-op" permanezcan 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 sus aplicaciones.

Comentarios de seguridad

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 Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

CompareString

CompareStringEx

CompareStringOrdinal

Conceptual

Otros recursos

Referencia

Cadenas

lstrcat

lstrcmp

lstrcpy

lstrlen