Ответ 1
Все
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;
работал у меня.
Я действительно не нашел ответа, который близко...
противоположный путь довольно прост, как str [0]
Но мне нужно отбросить только 1 char в строку...
вот так:
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
Все
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;