Ответ 1
Вне верхней части головы, если вы используете STL, сделайте следующее:
string firstLetter(1,str[0]);
Простой вопрос (в С++):
Как преобразовать символ в строку. Так, например, у меня есть строка str = "abc";
И я хочу извлечь первую букву, но хочу, чтобы она была строкой в отличие от персонажа.
Я пробовал
string firstLetter = str[0] + "";
и
string firstLetter = & str[0];
Ничего не работает. Идеи?
Вне верхней части головы, если вы используете 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
будет строка, содержащая 1 символ после смещения 0 в foo
(другими словами, первый символ).
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"
string firstletter (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"