Descripción detallada de lstrcmp y caracteres alfabéticos

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 96748
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.
Síntomas
Ejecutar la siguiente función en las devoluciones de idioma inglés -1, que indica que una 'e' minúscula es menor que un 'Z' en mayúsculas:
   lstrcmp("e","Z");				
Esto es contrario a la orden de caracteres mediante la ordenación de ASCII. Sin embargo, es el comportamiento correcto o lstrcmp().
Causa
lstrcmp() realiza una comparación de la misma manera como un realdictionary. Caracteres se comparan en un mannerfirst entre mayúsculas y minúsculas, y se comparan los detalles específicos (por ejemplo, lowercaseversus en mayúsculas).

lstrcmp() realiza sus comparaciones, configure un peso de andsecondary principal. El peso principal es el valor de la characterafter de convertir a mayúsculas. Whetherthe describe el peso secundario carácter era originalmente en mayúsculas o minúsculas.

Con ayuda de la tabla ASCII estándar (0... 9ABC... XYZabc... xyz), los siguientes son ejemplos de lstrcmp:
"A"< "a"="">< "b"=""><>
"Aaa"< "aaa"=""><>
"En el primer ejemplo, A" es menor que "a" porque:
  1. Ambos caracteres se convierten a mayúsculas.
  2. Los pesos principales se comparan y se encuentra iguales.
  3. Debido a los pesos principales son iguales, se comparan los pesos secundarios. A continuación, se determina que "A" es menor que "a" porque "a" es mayor en el gráfico de ASCII.
También en el primer ejemplo, "a" es menor que "B" porque:
  1. Ambos caracteres se convierten a mayúsculas.
  2. Los pesos principales se comparan y se determina que "A" es menor que "B" en la tabla del ASCII. Se realiza ninguna comparación de peso secundario.
En el segundo ejemplo, "Aaa" es inferior a "aaa" siguiendo el samelogic que se muestra en la comparación de "A" y "a".

Cuando se comparan dos caracteres son iguales, esto se denomina una "colisión" y "retrasa la comparación" se realizará con el peso de la educación.

MÁS EJEMPLOS

   e,a  --> E,A --> E>A = 1   e,e  --> E,E --> E=E = 0  Because they are equal, the case is                             checked (secondary weight).   e,z  --> E,Z --> E<Z = -1   e,A  --> E,A --> E>A = 1   e,E  --> E,E --> E=E = 1  Because they are equal, the case is                             checked (secondary weight).   e,F  --> E,F --> E<F = -1				
Solución
Si necesita ordenar por valores ASCII utilizando mayúsculas y minúsculas, utilice el tiempo de Crun función strcmp() o _fstrcmp().

También, las aplicaciones basadas en Windows del Lejano Oriente adoptarán este sortingtechnique diccionario en inglés y local.

Para obtener información detallada sobre el criterio de ordenación utilizado con no alphabeticcharacters, caracteres acentuados y caracteres en internationallanguages, busque las palabras siguientes en esta Base de conocimientos:
lstrcmpi e internacionales y ordenar
3.00 3.10 lstrcmpi strcmpi

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 96748 - Última revisión: 05/01/2016 22:14:00 - Revisión: 4.0

Microsoft Windows Software Development Kit 3.0, Microsoft Windows Software Development Kit 3.1

  • kbmt KB96748 KbMtes
Comentarios