Namespaces
Variants

std:: wcsncmp

From cppreference.net
Défini dans l'en-tête <cwchar>
int wcsncmp ( const wchar_t * lhs, const wchar_t * rhs, std:: size_t count ) ;

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.

Exemple

#include <clocale>
#include <cwchar>
#include <iostream>
#include <locale>
void demo(const wchar_t* lhs, const wchar_t* rhs, int sz)
{
    int rc = std::wcsncmp(lhs, rhs, sz);
    if (rc == 0)
        std::wcout << "First " << sz << " characters of ["
                   << lhs << "] equal [" << rhs << "]\n";
    else if (rc < 0)
        std::wcout << "First " << sz << " characters of ["
                   << lhs << "] precede [" << rhs << "]\n";
    else if (rc > 0)
        std::wcout << "First " << sz << " characters of ["
                   << lhs << "] follow [" << rhs << "]\n";
}
int main()
{
    const wchar_t str1[] = L"안녕하세요";
    const wchar_t str2[] = L"안녕히 가십시오";
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("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 [안녕히 가십시오]

Voir aussi

compare un certain nombre de caractères de deux chaînes
(fonction)
compare deux chaînes larges
(fonction)
compare un certain nombre de caractères larges de deux tableaux
(fonction)
compare deux chaînes larges conformément à la locale actuelle
(fonction)
Documentation C pour wcsncmp