将单个字符转换为字符串?

时间:2010-07-11 09:39:16

标签: c++ character

简单问题(用C ++编写):

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

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

我试过

string firstLetter = str[0] + "";

string firstLetter = & str[0]; 

两者都不起作用。想法?

9 个答案:

答案 0 :(得分:59)

如果您正在使用STL,那么请不要这样做:

string firstLetter(1,str[0]);

答案 1 :(得分:22)

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

string firstletter( 1, str[0]);

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

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

答案 2 :(得分:5)

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));

答案 3 :(得分:3)

使用string::substr

在下面的示例中,f将是foo中偏移0之后包含1个字符的字符串(换句话说,第一个字符)。

string foo = "foo";
string f = foo.substr(0, 1);

cout << foo << endl; // "foo"
cout << f << endl; // "f"

答案 4 :(得分:3)

char characterVariable = 'z';
string cToS(1, characterVariable);

//cToS is now a string with the value of "z"

答案 5 :(得分:2)

string firstletter(str.begin(),str.begin()+ 1);

答案 6 :(得分:2)

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

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

答案 7 :(得分:0)

您可以尝试使用它

string s="hello";

string s1="";

s1=s1+s[0];

答案 8 :(得分:0)

如果你想返回一个字符串,下面给出了两种方法:

1.`return (string) "" + S[i];

2.string s.push_back(originals[k];return s;