C++ конвертировать из 1 символа в строку? [закрытый]


Я действительно не нашел ответа, что близко...

противоположный путь довольно прост, как str[0]

но мне нужно бросить только 1 символ в строку...

такой:

char c = 34;
string(1,c);
//this doesn't work, the string is always empty.

string s(c);
//also doesn't work.

boost::lexical_cast<string>((int)c);

//also return null
2 81

2 ответа:

все

string s(1, c); std::cout << s << std::endl;

и

std::cout << string(1, c) << std::endl;

и

string s; s.push_back(c); std::cout << s << std::endl;

работал для меня.

Я, честно говоря, думал, что метод литья будет работать нормально. Поскольку это не так, вы можете попробовать stringstream. Пример приведен ниже:

#include <sstream>
#include <string>
stringstream ss;
string target;
char mychar='a';
ss << mychar;
ss >> target;