我真的没有找到任何接近的答案......
相反的方式非常简单,如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
Run Code Online (Sandbox Code Playgroud)
Mas*_*ssa 170
所有的
string s(1, c); std::cout << s << std::endl;
Run Code Online (Sandbox Code Playgroud)
和
std::cout << string(1, c) << std::endl;
Run Code Online (Sandbox Code Playgroud)
和
string s; s.push_back(c); std::cout << s << std::endl;
Run Code Online (Sandbox Code Playgroud)
为我工作.
老实说,我认为铸造方法可以正常工作.既然它没有你可以尝试stringstream.一个例子如下:
#include <sstream>
#include <string>
stringstream ss;
string target;
char mychar='a';
ss << mychar;
ss >> target;
Run Code Online (Sandbox Code Playgroud)
无论char您拥有多少变量,此解决方案都将起作用:
char c1 = 'z';
char c2 = 'w';
std::string s1{c1};
std::string s12{c1, c2};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
236788 次 |
| 最近记录: |