Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: Mrovqa
Język C++

basic_string::copy

[metoda] Kopiuje string lub jego część do tablicy znaków.

Składnia

C/C++
#include <string>

namespace std
{
    template <
    class TypZnaku,
    class CechowanieZnakow = char_traits < TypZnaku >,
    class Alokator = allocator < TypZnaku >
    >
    class basic_string
    {
    public:
        size_type copy( TypZnaku * _s, size_type _len, size_type _pos = 0 ) const;
       
    }; //class basic_string
} //namespace std

Argumenty

ArgumentOpis
_sWskaźnik na tablicę znaków. Powinna ona pomieścić wszystkie kopiowane znaki.
_lenMaksymalna ilość kopiowanych znaków.
_posPozycja pierwszego znaku stringu, od którego rozpocznie się kopiowanie.

Zwracana wartość

Liczba skopiowanych znaków do tablicy _s. Może być równa _len albo liczbie » standard C++ » basic_stringlength() - _pos w przypadku, gdy długość stringa jest mniejsza od _pos+_len.

Opis szczegółowy

Kopiuje _len znaków (lub mniej w przypadku napotkania końca kontenera) od pozycji _pos w aktualnym obiekcie do tablicy wskazywanej przez _s. Ta metoda nie dodaje bajtu zerowego na koniec skopiowanego ciągu znaków.

Rzucane wyjątki

Jeżeli wyjątek zostanie rzucony, wartość obiektu nie ulegnie zmianie.

Jeżeli _s nie wskazuje na wystarczająco dużą tablicę, to zachowanie jest niezdefiniowane.

Jeżeli _pos jest większe od długości aktualnego obiektu, to wtedy zostanie rzucony » standard C++out_of_range.

Przykład

C/C++
#include <iostream>
#include <string>

typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
    char bufor[ 20 ];
    MojString str( "Test string..." );
    std::size_t len = str.copy( bufor, 6, 5 );
    bufor[ len ] = '\0';
    std::cout << "bufor zawiera: " << bufor << '\n';
    return 0;
}
Standardowe wyjście programu:
bufor zawiera: string

Zagadnienia powiązane

substrZwraca podciąg łańcucha znaków. (metoda)
assignPrzypisuje nową wartość aktualnemu obiektowi. (metoda)
c_strZwraca wskaźnik na początek wewnętrznej tablicy znaków. (metoda)
replaceZamienia część znaków na inne. (metoda)
insertWstawia znaki do aktualnego łańcucha znaków. (metoda)
appendModyfikuje przechowywany tekst poprzez dopisanie podanego łańcucha znaków na koniec tekstu. (metoda)

Linki zewnętrzne