简单问题(用C ++编写):
如何将字符转换为字符串。 所以例如我有一个字符串str =“abc”;
我想提取第一个字母,但我希望它是一个字符串 而不是角色。
我试过
string firstLetter = str[0] + "";
和
string firstLetter = & str[0];
两者都不起作用。想法?
答案 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)
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;