wcsncmp
|
Défini dans l'en-tête
<wchar.h>
|
||
|
int
wcsncmp
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs,
size_t
count
)
;
|
(depuis C95) | |
Compare au maximum
count
caractères larges de deux chaînes larges terminées par un caractère nul. La comparaison est effectuée de manière lexicographique.
Le signe du résultat est le signe de la différence entre les valeurs de la première paire de caractères larges qui diffèrent dans les chaînes comparées.
Le comportement est indéfini si
lhs
ou
rhs
ne sont pas des pointeurs vers des chaînes de caractères terminées par un caractère nul.
Table des matières |
Paramètres
| lhs, rhs | - | pointeurs vers les chaînes larges terminées par un caractère nul à comparer |
| count | - | nombre maximum de caractères à comparer |
Valeur de retour
Valeur négative si
lhs
apparaît avant
rhs
dans l'ordre lexicographique.
Zéro si
lhs
et
rhs
sont égaux.
Valeur positive si
lhs
apparaît après
rhs
dans l'ordre lexicographique.
Notes
Cette fonction n'est pas sensible aux paramètres régionaux, contrairement à wcscoll et wcsxfrm .
Exemple
#include <stdio.h> #include <wchar.h> #include <locale.h> void demo(const wchar_t *lhs, const wchar_t *rhs, int sz) { int rc = wcsncmp(lhs, rhs, sz); if(rc == 0) printf("First %d characters of [%ls] equal [%ls]\n", sz, lhs, rhs); else if(rc < 0) printf("First %d characters of [%ls] precede [%ls]\n", sz, lhs, rhs); else if(rc > 0) printf("First %d characters of [%ls] follow [%ls]\n", sz, lhs, rhs); } int main(void) { const wchar_t *str1 = L"안녕하세요"; const wchar_t *str2 = L"안녕히 가십시오"; setlocale(LC_ALL, "en_US.utf8"); demo(str1, str2, 5); demo(str2, str1, 8); demo(str1, str2, 2); }
Sortie :
First 5 characters of [안녕하세요] precede [안녕히 가십시오] First 8 characters of [안녕히 가십시오] follow [안녕하세요] First 2 characters of [안녕하세요] equal [안녕히 가십시오]
Références
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.29.4.4.3 La fonction wcsncmp (p: 434)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.24.4.4.3 La fonction wcsncmp (p: 380)
Voir aussi
|
(C95)
|
compare deux chaînes larges
(fonction) |
|
(C95)
|
compare un certain nombre de caractères larges de deux tableaux
(fonction) |
|
(C95)
|
compare deux chaînes larges selon les paramètres régionaux actuels
(fonction) |
|
Documentation C++
pour
wcsncmp
|
|