将单个字符转换为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"