std::wcsncpy
Von cppreference.com
| Definiert in Header <cwchar> |
||
| wchar_t* wcsncpy( wchar_t* dest, const wchar_t* src, std::size_t count ); |
||
Kopiert maximal count Zeichen der Wide-String, auf den src zeigt (einschließlich des terminierenden Null-Wide-Zeichens), in ein Wide-Character-Array, auf das dest zeigt.
Wenn count erreicht wird, bevor der gesamte String src kopiert wurde, ist das resultierende Wide-Character-Array nicht nullterminiert.
Wenn nach dem Kopieren des terminierenden Null-Wide-Zeichens aus src count nicht erreicht ist, werden zusätzliche Null-Wide-Zeichen nach dest geschrieben, bis insgesamt count Zeichen geschrieben wurden.
Wenn sich die Strings überlappen, ist das Verhalten undefiniert.
Inhalt |
[edit] Parameter
| dest | - | Zeiger auf das Wide-Zeichen-Array, in das kopiert werden soll |
| src | - | Zeiger auf den zu kopierenden Wide-String |
| zählt | - | maximale Anzahl von zu kopierenden Zeichen |
[edit] Rückgabewert
dest
[edit] Hinweise
Bei typischem Gebrauch ist count die Größe des Zielarrays.
[edit] Beispiel
Führen Sie diesen Code aus
#include <cwchar> #include <iostream> int main() { const wchar_t src[] = L"hi"; wchar_t dest[6] = {L'a', L'b', L'c', L'd', L'e', L'f'}; std::wcsncpy(dest, src, 5); // this will copy 'hi' and repeat \0 three times std::wcout << "The contents of dest are: "; for (const wchar_t c : dest) { if (c) std::wcout << c << ' '; else std::wcout << "\\0" << ' '; } std::wcout << '\n'; }
Ausgabe
The contents of dest are: h i \0 \0 \0 f
[edit] Siehe auch
| kopiert eine breite Zeichenkette in eine andere (Funktion) | |
| kopiert eine bestimmte Anzahl breiter Zeichen zwischen zwei nicht überlappenden Arrays (Funktion) | |
| kopiert eine bestimmte Anzahl von Zeichen von einem String in einen anderen (Funktion) | |
| C-Dokumentation für wcsncpy
| |