Namespaces
Variants

wmemset

From cppreference.net
< c ‎ | string ‎ | wide
Défini dans l'en-tête <wchar.h>
wchar_t * wmemset ( wchar_t * dest, wchar_t ch, size_t count ) ;
(depuis C95)

Copie le caractère large ch dans chacun des premiers count caractères larges du tableau de caractères larges (ou tableau d'entiers de type compatible) pointé par dest .

Si un dépassement de capacité se produit, le comportement est indéfini.

Si count est zéro, la fonction ne fait rien.

Table des matières

Paramètres

dest - pointeur vers le tableau de caractères larges à remplir
ch - caractère large de remplissage
count - nombre de caractères larges à remplir

Valeur de retour

Retourne une copie de dest

Notes

Cette fonction n'est pas sensible aux paramètres régionaux et ne prête aucune attention aux valeurs des wchar_t qu'elle écrit : les caractères nuls ainsi que les caractères larges non valides sont également écrits.

Exemple

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main(void)
{
    wchar_t ar[10] = L"1234567890"; // pas de caractère nul de fin dans le tableau
    wmemset(ar, L'\U0001f34c', 5); // remplace [12345] par les bananes 🍌
    wmemset(ar + 5, L'蕉', 5); // remplace [67890] par les bananes 蕉
    setlocale(LC_ALL, "en_US.utf8");
    for (size_t n = 0; n < sizeof ar / sizeof *ar; ++n)
        putwchar(ar[n]);
    putwchar(L'\n');
}

Sortie :

🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.29.4.6.2 La fonction wmemset (p: TBD)
  • Norme C17 (ISO/IEC 9899:2018):
  • 7.29.4.6.2 La fonction wmemset (p: TBD)
  • Norme C11 (ISO/IEC 9899:2011):
  • 7.29.4.6.2 La fonction wmemset (p: 439)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.24.4.6.2 La fonction wmemset (p: 385)

Voir aussi

remplit un tampon avec un caractère
(fonction)
copie un certain nombre de caractères larges entre deux tableaux non chevauchants
(fonction)
Documentation C++ pour wmemset