C ++从1个字符串转换为字符串?

时间:2013-06-19 21:22:25

标签: c++ casting

我真的没有找到任何接近的答案......

相反的方式非常简单,如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

3 个答案:

答案 0 :(得分:156)

全部

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;

为我工作。

答案 1 :(得分:8)

老实说,我认为铸造方法可以正常工作。既然它没有你可以尝试stringstream。一个例子如下:

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

答案 2 :(得分:3)

无论您拥有char个变量的数量如何,此解决方案都将起作用:

char c1 = 'z';
char c2 = 'w';
std::string s1{c1};
std::string s12{c1, c2};