Namespaces
Variants

std::basic_string<CharT,Traits,Allocator>:: copy

From cppreference.net
std::basic_string
size_type copy ( CharT * dest, size_type count, size_type pos = 0 ) const ;
(constexpr seit C++20)

Kopiert einen Teilstring [ pos , pos + count ) in den Zeichenstring, auf den dest zeigt. Wenn der angeforderte Teilstring über das Ende des Strings hinausgeht, oder wenn count == npos ist, wird der kopierte Teilstring [ pos , size() ) sein.

Der resultierende Zeichenstring ist nicht nullterminiert.

Inhaltsverzeichnis

Parameter

dest - Zeiger auf die Zielzeichenkette
count - Länge der Teilzeichenkette
pos - Position des ersten einzubeziehenden Zeichens

Rückgabewert

Anzahl der kopierten Zeichen.

Exceptions

std::out_of_range wenn pos > size ( ) .

Wenn aus irgendeinem Grund eine Exception ausgelöst wird, hat diese Funktion keine Wirkung ( strong exception safety guarantee ).

Komplexität

Linear in count .

Beispiel

#include <iostream>
#include <string>
int main()
{
    std::string foo("WINE");
    // Die Initialisierung mit geschweiften Klammern setzt alle Zeichen auf 0,
    // wodurch ein Nullterminator bereitgestellt wird
    char bar[4]{};
    // Das letzte Zeichen nicht kopieren, um Nullterminierung zu garantieren
    foo.copy(bar, sizeof bar - 1);
    std::cout << bar << '\n'; // erfordert, dass bar nullterminiert ist
}

Ausgabe:

WIN

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 847 C++98 es gab keine Ausnahmesicherheitsgarantie starke Ausnahmesicherheitsgarantie hinzugefügt

Siehe auch

gibt einen Teilstring zurück
(öffentliche Elementfunktion)
kopiert Zeichen
(öffentliche Elementfunktion von std::basic_string_view<CharT,Traits> )
kopiert einen Elementbereich an eine neue Position
(Funktionstemplate)
kopiert einen Puffer in einen anderen
(Funktion)