Namespaces
Variants

wmemset

From cppreference.net
< c ‎ | string ‎ | wide
Definiert in Header <wchar.h>
wchar_t * wmemset ( wchar_t * dest, wchar_t ch, size_t count ) ;
(seit C95)

Kopiert das Breitzeichen ch in jedes der ersten count Breitzeichen des Breitzeichen-Arrays (oder Integer-Arrays kompatiblen Typs), auf das dest zeigt.

Wenn ein Überlauf auftritt, ist das Verhalten undefiniert.

Wenn count null ist, führt die Funktion keine Aktion aus.

Inhaltsverzeichnis

Parameter

dest - Zeiger auf das zu füllende Breitzeichen-Array
ch - Füll-Breitzeichen
count - Anzahl der zu füllenden Breitzeichen

Rückgabewert

Gibt eine Kopie von dest zurück

Hinweise

Diese Funktion ist nicht lokalisierungssensitiv und beachtet nicht die Werte der wchar_t Objekte, die sie schreibt: Nullzeichen sowie ungültige Breitzeichen werden ebenfalls geschrieben.

Beispiel

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main(void)
{
    wchar_t ar[10] = L"1234567890"; // kein nachfolgendes Nullzeichen im Array
    wmemset(ar, L'\U0001f34c', 5); // ersetzt [12345] mit den 🍌 Bananen
    wmemset(ar + 5, L'蕉', 5); // ersetzt [67890] mit den 蕉 Bananen
    setlocale(LC_ALL, "en_US.utf8");
    for (size_t n = 0; n < sizeof ar / sizeof *ar; ++n)
        putwchar(ar[n]);
    putwchar(L'\n');
}

Ausgabe:

🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.29.4.6.2 Die wmemset-Funktion (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.29.4.6.2 Die wmemset-Funktion (S.: TBD)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.29.4.6.2 Die wmemset-Funktion (S: 439)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.24.4.6.2 Die wmemset-Funktion (S: 385)

Siehe auch

füllt einen Puffer mit einem Zeichen
(Funktion)
kopiert eine bestimmte Anzahl von Breitzeichen zwischen zwei nicht überlappenden Arrays
(Funktion)
C++-Dokumentation für wmemset