web-dev-qa-db-ja.com

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
100
weeo

すべての

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;

私のために働いた。

159
Massa

私はキャスティング方法がうまくいくだろうと正直に思った。そうではないので、stringstreamを試すことができます。例を以下に示します。

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