Namespaces
Variants

wcsncmp

From cppreference.net
< c ‎ | string ‎ | wide
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