Namespaces
Variants

wmemset

From cppreference.net
< c ‎ | string ‎ | wide
Definido en el encabezado <wchar.h>
wchar_t * wmemset ( wchar_t * dest, wchar_t ch, size_t count ) ;
(desde C95)

Copia el carácter ancho ch en cada uno de los primeros count caracteres anchos del array de caracteres anchos (o array de enteros de tipo compatible) apuntado por dest .

Si se produce un desbordamiento, el comportamiento es indefinido.

Si count es cero, la función no hace nada.

Contenidos

Parámetros

dest - puntero al arreglo de caracteres anchos a llenar
ch - carácter ancho de relleno
count - número de caracteres anchos a llenar

Valor de retorno

Devuelve una copia de dest

Notas

Esta función no es sensible a la configuración regional y no presta atención a los valores de los wchar_t objetos que escribe: los nulos así como los caracteres anchos no válidos también se escriben.

Ejemplo

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main(void)
{
    wchar_t ar[10] = L"1234567890"; // no hay null final en el array
    wmemset(ar, L'\U0001f34c', 5); // reemplaza [12345] con los 🍌 bananas
    wmemset(ar + 5, L'蕉', 5); // reemplaza [67890] con los 蕉 bananas
    setlocale(LC_ALL, "en_US.utf8");
    for (size_t n = 0; n < sizeof ar / sizeof *ar; ++n)
        putwchar(ar[n]);
    putwchar(L'\n');
}

Salida:

🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.29.4.6.2 La función wmemset (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.29.4.6.2 La función wmemset (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.29.4.6.2 La función wmemset (p: 439)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.24.4.6.2 La función wmemset (p: 385)

Véase también

llena un búfer con un carácter
(función)
copia cierta cantidad de caracteres anchos entre dos arreglos no superpuestos
(función)