wcscoll
|
Definido en el encabezado
<wchar.h>
|
||
|
int
wcscoll
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs
)
;
|
(desde C95) | |
Compara dos cadenas anchas terminadas en nulo según el orden de intercalación definido por la LC_COLLATE categoría de la configuración regional actualmente instalada.
Contenidos |
Parámetros
| lhs, rhs | - | punteros a las cadenas anchas terminadas en nulo a comparar |
Valor de retorno
Valor negativo si
lhs
es
menor que
(precede)
rhs
.
0
si
lhs
es
igual a
rhs
.
Valor positivo si
lhs
es
mayor que
(sigue a)
rhs
.
Notas
El orden de intercalación es el orden del diccionario: la posición de la letra en el alfabeto nacional (su clase de equivalencia ) tiene mayor prioridad que su caso o variante. Dentro de una clase de equivalencia, los caracteres en minúscula se intercalan antes que sus equivalentes en mayúscula y puede aplicarse un orden específico de la configuración regional a los caracteres con diacríticos. En algunas configuraciones regionales, grupos de caracteres se comparan como unidades de intercalación individuales. Por ejemplo, "ch" en checo sigue a "h" y precede a "i" , y "dzs" en húngaro sigue a "dz" y precede a "g" .
Ejemplo
#include <stdio.h> #include <wchar.h> #include <locale.h> void try_compare(const wchar_t* p1, const wchar_t* p2) { if(wcscoll(p1, p2) < 0) printf("%ls before %ls\n", p1, p2); else printf("%ls before %ls\n", p2, p1); } int main(void) { setlocale(LC_ALL, "en_US.utf8"); printf("In the American locale: "); try_compare(L"hrnec", L"chrt"); setlocale(LC_COLLATE, "cs_CZ.utf8"); printf("In the Czech locale: "); try_compare(L"hrnec", L"chrt"); setlocale(LC_COLLATE, "en_US.utf8"); printf("In the American locale: "); try_compare(L"år", L"ängel"); setlocale(LC_COLLATE, "sv_SE.utf8"); printf("In the Swedish locale: "); try_compare(L"år", L"ängel"); }
Salida posible:
In the American locale: chrt before hrnec In the Czech locale: hrnec before chrt In the American locale: ängel before år In the Swedish locale: år before ängel
Referencias
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.29.4.4.2 La función wcscoll (p: 433-434)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.24.4.4.2 La función wcscoll (p: 379-380)
Véase también
|
compara dos cadenas de acuerdo a la configuración regional actual
(función) |
|
|
(C95)
|
transforma una cadena ancha para que
wcscmp
produzca el mismo resultado que
wcscoll
(función) |
|
(C95)
|
compara dos cadenas anchas
(función) |
|
Documentación de C++
para
wcscoll
|
|