Namensräume
Varianten
Aktionen

wmemset

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

Kopiert das breite Zeichen ch in jedes der ersten count breiten Zeichen des breiten Zeichenarrays (oder Integer-Arrays kompatiblen Typs), auf das von dest gezeigt wird.

Wenn ein Überlauf auftritt, ist das Verhalten undefiniert.

Wenn count null ist, tut die Funktion nichts.

Inhalt

[edit] Parameter

dest - Zeiger auf das zu füllende breite Zeichenarray
ch - zu füllendes breites Zeichen
zählt - Anzahl der zu füllenden breiten Zeichen

[edit] Rückgabewert

Gibt eine Kopie von dest zurück

[edit] Hinweise

Diese Funktion ist nicht gebietsschemaabhängig und achtet nicht auf die Werte der wchar_t-Objekte, die sie schreibt: Nullzeichen sowie ungültige breite Zeichen werden ebenfalls geschrieben.

[edit] Beispiel

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

Ausgabe

🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉

[edit] Referenzen

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

[edit] Siehe auch

füllt einen Puffer mit einem Zeichen
(Funktion) [bearbeiten]
kopiert eine bestimmte Anzahl breiter Zeichen zwischen zwei nicht überlappenden Arrays
(Funktion) [bearbeiten]
C++ Dokumentation für wmemset