Namespaces
Variants

std:: wcsncpy

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

Copie au plus count caractères de la chaîne large pointée par src (incluant le caractère large nul de terminaison) vers le tableau de caractères large pointé par dest .

Si count est atteint avant que la chaîne entière src ne soit copiée, le tableau de caractères larges résultant n'est pas terminé par un caractère nul.

Si, après avoir copié le caractère large nul de terminaison depuis src , count n'est pas atteint, des caractères larges nuls supplémentaires sont écrits dans dest jusqu'à ce qu'un total de count caractères aient été écrits.

Si les chaînes se chevauchent, le comportement est indéfini.

Table des matières

Paramètres

dest - pointeur vers le tableau de caractères larges à copier
src - pointeur vers la chaîne large à copier
count - nombre maximum de caractères larges à copier

Valeur de retour

dest

Notes

En utilisation typique, count est la taille du tableau de destination.

Exemple

#include <cwchar>
#include <iostream>
int main()
{
    const wchar_t src[] = L"hi";
    wchar_t dest[6] = {L'a', L'b', L'c', L'd', L'e', L'f'};
    std::wcsncpy(dest, src, 5); // this will copy 'hi' and repeat \0 three times
    std::wcout << "The contents of dest are: ";
    for (const wchar_t c : dest)
    {
        if (c)
            std::wcout << c << ' ';
        else
            std::wcout << "\\0" << ' ';
    }
    std::wcout << '\n';
}

Sortie :

The contents of dest are: h i \0 \0 \0 f

Voir aussi

copie une chaîne large vers une autre
(fonction)
copie un certain nombre de caractères larges entre deux tableaux non chevauchants
(fonction)
copie un certain nombre de caractères d'une chaîne à une autre
(fonction)
Documentation C pour wcsncpy