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ł: xevuel
Język C++

c_str

[metoda] Zwraca łańcuch znaków tylko do odczytu w standardzie języka C.

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 * c_str() const;
    };
}

Zwracana wartość

Wskaźnik do wewnętrznej tablicy zawierającej ciąg znaków w stylu języka C.

Opis szczegółowy

Metoda c_str zwraca łańcuch znaków tylko do odczytu w standardzie języka C. Zwrócony wskaźnik zawiera ten sam tekst, jak obiekt na rzecz którego została wywołana ta metoda. Znak \0 jest automatycznie dodawany na końcu tekstu.

Zwracana tablica wskazuje na wewnętrzną lokalizację z wymaganą przestrzenią dyskową dla wszystkich znaków + kończącego znaku null. Wartości tej tablicy nie powinny być modyfikowane, a poprawność adresu wskaźnika jest gwarantowana aż do wywołania pierwszej metody modyfikującej.

Przykład

Użycie metody c_str daje możliwość przekazania tekstu do funkcji, która jako argument przyjmuje wartość
char *
 lub
const char *
. Oto prosty przykład:
C/C++
#include <cstdio>
#include <string>

void print_text( const char * text )
{
    printf( "%s\n", text );
}

int main()
{
    std::string example;
    example = "To jest bardzo prosty przyklad uzycia metody c_str.";
    print_text( example.c_str() );
}

Standardowe wyjście programu:
To jest bardzo prosty przyklad uzycia metody c_str.

Zagadnienia powiązane

assignprzypisuje nową wartość dla łańcuch znaków (metoda)
dataZwraca wskaźnik na łańcuch znaków, który nie jest zakończony znakiem terminalnym '\0'. (metoda)

Linki zewnętrzne