Ответ 1
string a = "hello ";
const char *b = "world";
a += b;
const char *C = a.c_str();
или без изменения a
:
string a = "hello ";
const char *b = "world";
string c = a + b;
const char *C = c.c_str();
Маленькое редактирование, чтобы соответствовать количеству информации, предоставленной 111111.
Если у вас уже есть string
(или const char *
s, но я рекомендую отнести последнее к первому), вы можете просто "суммировать" их, чтобы сформировать более длинную строку. Но если вы хотите добавить что-то большее, чем просто строку, которую вы уже имеете, вы можете использовать stringstream
и operator<<
, который работает точно как cout
один, но не выводит текст на стандартный вывод (т.е. консоль), но для этого внутренний буфер, и вы можете использовать его .str()
для получения std::string
от него.
std::string::c_str()
возвращает указатель на буфер const char
(т.е. const char *
) содержащейся в нем строки, которая заканчивается на нуль. Затем вы можете использовать его как любую другую переменную const char *
.