Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
size_type copy( CharT* dest, size_type count, size_type pos = 0 ) const;
(constexpr seit C++20)

Kopiert einen Teilstring [pospos + count) in die vom Zeiger dest angezeigte Zeichenkette. Wenn der angeforderte Teilstring über das Ende des Strings hinausgeht oder wenn count == npos ist, dann ist der kopierte Teilstring [possize()).

Die resultierende Zeichenkette ist nicht nullterminiert.

Inhalt

[bearbeiten] Parameter

dest - Zeiger auf die Zielzeichenkette
zählt - Länge des Teilstrings
pos - Position des ersten einzuschließenden Zeichens

[bearbeiten] Rückgabewert

Anzahl der kopierten Zeichen.

[bearbeiten] Ausnahmen

std::out_of_range, wenn pos > size().

Wenn aus irgendeinem Grund eine Ausnahme ausgelöst wird, hat diese Funktion keine Auswirkungen (starkes Ausnahmesicherheitsgarantie).

[bearbeiten] Komplexität

Linear in count.

[bearbeiten] Beispiel

#include <iostream>
#include <string>
 
int main()
{
    std::string foo("WINE");
 
    // brace-initialization initializes all characters to 0,
    // providing a null-terminator
    char bar[4]{};
 
    // do not copy the last char, to guarantee null-termination
    foo.copy(bar, sizeof bar - 1);
 
    std::cout << bar << '\n'; // requires bar to be null-terminated
}

Ausgabe

WIN

[bearbeiten] Defect reports

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

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 847 C++98 Es gab keine Ausnahmesicherheitsgarantie starke Ausnahmesicherheitsgarantie hinzugefügt

[bearbeiten] Siehe auch

gibt eine Teilzeichenkette zurück
(public member function) [edit]
kopiert Zeichen
(public member function of std::basic_string_view<CharT,Traits>) [bearbeiten]
Kopiert einen Elementbereich an einen neuen Speicherort
(Funktionstempelat) [edit]
kopiert einen Puffer in einen anderen
(Funktion) [bearbeiten]