Как добавить несколько элементов в строку в C ++? - PullRequest
2 голосов
/ 25 декабря 2011

Я знаю, как это сделать с помощью cout:

cout << "string" << 'c' << 33;

Но как это сделать, чтобы вывод перенаправлялся в переменную, а не прямо в стандартный вывод?

const char* string << "string" << 'c' << 33; //doesn't work

Ответы [ 2 ]

10 голосов
/ 25 декабря 2011

Используйте std::stringstream из стандартной библиотеки C ++.

Это работает следующим образом:

std::stringstream ss;
ss << "string" << 'c' << 33;
std::string str = ss.str();
const char* str_ansi_c = str.c_str();

Имейте в виду, что str все еще должно находиться в области действия при использованииС-стиль str_ansi_c.

2 голосов
/ 25 декабря 2011
#include <sstream>
#include <iostream>

main()
{
  std::stringstream ss;
  ss << "string" << 'c' << 33;

  std::string str = ss.str();
  std::cout << str;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...