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