Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracowali: Piotr DejaVu Szawdyński, xevuel
Język C++

data

[metoda] Zwraca wskaźnik na łańcuch znaków, który nie jest zakończony znakiem terminalnym '\0'.

Składnia

C/C++
#include <string>

namespace std
{
    // Klasa std::string jest w rzeczywistości zdefiniowana za pomocą następującego typedef-a:
    // typedef basic_string < char, char_traits < char >, allocator < char > > string;
    class string
    {
    public:
        const char * data() const;
    };
}

Zwracana wartość

Zwraca wskaźnik na tablicę znaków. Zwracany łańcuch znaków nie jest zakończony znakiem terminalnym '\0'.

Opis szczegółowy

Metoda data zwraca wskaźnik na tablicę znaków, która nie jest zakończona znakiem terminalnym '\0'. Zwrócony wskaźnik nie powinien być modyfikowany, ponieważ jego właścicielem jest obiekt std::string, który ma ograniczony czas życia oraz zarządza zwróconym wskaźnikiem. Poprawność adresu wskaźnika jest gwarantowana od chwili wywołania omawianej metody do czasu wywołania metody modyfikującej.

Przykład

C/C++
#include <cstdio>
#include <string>
#include <string.h>

int main()
{
    std::string sTekst = "cpp0x.pl";
    char sLancuchZnakow[ 100 ];
   
    ::memcpy( sLancuchZnakow, sTekst.data(), sTekst.size() );
    sLancuchZnakow[ sTekst.size() ] = '\0';
   
    ::printf( "Lancuch znakow: \"%s\"\n", sLancuchZnakow );
    return 0;
}
Standardowe wyjście programu:
Lancuch znakow: "cpp0x.pl"

Zagadnienia powiązane

assignprzypisuje nową wartość dla łańcuch znaków (metoda)
c_strZwraca łańcuch znaków tylko do odczytu w standardzie języka C. (metoda)
copy[OK/TODO]Kopiuje zawartość stringa do tablicy. (metoda)

Linki zewnętrzne