wmemmove, wmemmove_s
From cppreference.net
|
Definiert in Header
<wchar.h>
|
||
|
wchar_t
*
wmemmove
(
wchar_t
*
dest,
const
wchar_t
*
src,
size_t
count
)
;
|
(1) | (seit C95) |
|
errno_t wmemmove_s
(
wchar_t
*
dest, rsize_t destsz,
const wchar_t * src, rsize_t count ) ; |
(2) | (seit C11) |
1)
Kopiert genau
count
aufeinanderfolgende Breitzeichen aus dem Breitzeichen-Array, auf das
src
zeigt, in das Breitzeichen-Array, auf das
dest
zeigt. Wenn
count
null ist, führt die Funktion keine Operation aus. Die Arrays können sich überlappen: Das Kopieren erfolgt so, als würden die Breitzeichen in ein temporäres Breitzeichen-Array kopiert und dann aus dem temporären Array in
dest
kopiert.
2)
Gleich wie
(1)
, mit der Ausnahme, dass die folgenden Fehler zur Laufzeit erkannt werden und die aktuell installierte
Constraint-Handler
-Funktion aufrufen:
-
- src oder dest ist ein Nullzeiger
- destsz oder count ist größer als RSIZE_MAX / sizeof ( wchar_t )
- count ist größer als destsz (Überlauf würde auftreten)
-
Wie bei allen bounds-checked-Funktionen ist
wmemcpy_snur garantiert verfügbar, wenn __STDC_LIB_EXT1__ durch die Implementierung definiert ist und wenn der Benutzer __STDC_WANT_LIB_EXT1__ auf den Integer-Konstantenwert 1 setzt, bevor <wchar.h> eingebunden wird.
Inhaltsverzeichnis |
Parameter
| dest | - | Zeiger auf das Breitzeichen-Array, in das kopiert werden soll |
| src | - | Zeiger auf das Breitzeichen-Array, aus dem kopiert werden soll |
| destsz | - | maximale Anzahl an Breitzeichen zum Schreiben (die Größe des Zielpuffers) |
| count | - | Anzahl der zu kopierenden Breitzeichen |
Rückgabewert
1)
Gibt eine Kopie von
dest
zurück
2)
Gibt bei Erfolg Null zurück, gibt bei Fehler einen Wert ungleich Null zurück. Füllt im Fehlerfall den gesamten
dst
bis ausschließlich
dst
+
dstsz
mit Null-Weitzeichen,
L
'
\0
'
(sofern nicht
dest
null ist oder
destsz
größer ist als
RSIZE_MAX
/
sizeof
(
wchar_t
)
)
Hinweise
Diese Funktion ist nicht gebietsschemassensitiv und beachtet nicht die Werte der wchar_t Objekte, die sie kopiert: Nullzeichen sowie ungültige Zeichen werden ebenfalls kopiert.
Beispiel
Diesen Code ausführen
Ausgabe:
αβγδεζηθικλμνξοπρστυφχψω αβγδδεζθικλμνξοπρστυφχψω
Referenzen
- C23 Standard (ISO/IEC 9899:2024):
-
- 7.29.4.2.4 Die wmemmove-Funktion (S.: TBD)
-
- K.3.9.2.1.4 Die wmemmove_s-Funktion (S.: TBD)
- C17 Standard (ISO/IEC 9899:2018):
-
- 7.29.4.2.4 Die wmemmove-Funktion (S.: TBD)
-
- K.3.9.2.1.4 Die wmemmove_s-Funktion (S.: TBD)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.29.4.2.4 Die wmemmove-Funktion (S: 432)
-
- K.3.9.2.1.4 Die wmemmove_s-Funktion (S: 642)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.24.4.2.4 Die wmemmove-Funktion (S: 378)
Siehe auch
|
(C11)
|
verschiebt einen Puffer zu einem anderen
(Funktion) |
|
(C95)
(C11)
|
kopiert eine bestimmte Anzahl von Breitzeichen zwischen zwei nicht überlappenden Arrays
(Funktion) |
|
C++-Dokumentation
für
wmemmove
|
|