将单个字符转换为string?

简单的问题(在C ++中):

如何将字符转换为string 所以例如我有一个stringstr =“abc”;

我想提取第一个字母,但我希望它是一个string,而不是一个字符。

我试过了

string firstLetter = str[0] + ""; 

 string firstLetter = & str[0]; 

两者都行不通。 想法?

closures我的头顶,如果你使用STL,那么这样做:

 string firstLetter(1,str[0]); 

你可以使用std::string(size_t , char )构造函数:

 string firstletter( 1, str[0]); 

或者你可以使用string::substr()

 string firstletter2( str.substr(0, 1)); 

1)使用std::stringstream

  std::string str="abc",r; std::stringstream s; s<<str[0]; s>>r; std::cout<<r; 

2)使用string ( size_t n, char c ); constructor

  std::string str="abc"; string r(1, str[0]); 

3)使用substr()

  string r(str.substr(0, 1)); 

使用string::substr

在下面的例子中, f将是在foo偏移0(换言之,第一个字符)之后包含1个字符的string。

 string foo = "foo"; string f = foo.substr(0, 1); cout << foo << endl; // "foo" cout << f << endl; // "f" 
 char characterVariable = 'z'; string cToS(1, characterVariable); //cToS is now a string with the value of "z" 

stringfirstletter(str.begin(),str.begin()+ 1);

 string s; char a='c'; s+=a; //now s is "c" 

要么

 char a='c'; string s(a); //now s is "c"