Указатель из std::string в C++
Указатель из string - адрес буфера с
текстом и '\0', который дает метод
c_str у std::string.
Тип результата - const char*. Пока живет
сам объект std::string, через этот указатель
можно читать актуальный текст. Запишем именованную
строку, возьмем указатель и выведем его содержимое:
#include <string>
#include <iostream>
std::string title = "book";
const char* raw = title.c_str();
std::cout << raw << "\n";
После изменения std::string старый указатель
может стать недействительным - каждый раз берут
c_str заново. Не сохраняют указатель от
временного объекта: выведем текст только пока
переменная в области видимости:
#include <string>
#include <iostream>
std::string label = "item";
const char* view = label.c_str();
label = label + "s";
view = label.c_str();
std::cout << view << "\n";
Создайте std::string city
со значением "spb". Выведите
city.c_str через std::cout
с "\n".