Преобразовать отдельный символ в строку?

Простой вопрос (в C++):

Как я преобразовываю символ в строку. Так, например, у меня есть строковая ул. = "abc";

И я хочу извлечь первую букву, но я хочу, чтобы она была строкой в противоположность символу.

Я попробовал

string firstLetter = str[0] + "";

и

string firstLetter = & str[0]; 

Никакой работы. Идеи?

46
задан Alan Haggai Alavi 11 July 2010 в 09:43
поделиться

5 ответов

Совершенно верно, если вы используете STL, сделайте следующее:

string firstLetter(1,str[0]);
62
ответ дан 26 November 2019 в 20:19
поделиться

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));
5
ответ дан 26 November 2019 в 20:19
поделиться

Используйте string :: substr .

В приведенном ниже примере f будет строкой, содержащей 1 символ после смещения 0 в foo (другими словами, первый символ).

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

cout << foo << endl; // "foo"
cout << f << endl; // "f"
3
ответ дан 26 November 2019 в 20:19
поделиться

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

2
ответ дан 26 November 2019 в 20:19
поделиться

Вы можете использовать конструктор std :: string (size_t, char) :

string firstletter( 1, str[0]);

или вы можете использовать string :: substr () :

string firstletter2( str.substr(0, 1));
23
ответ дан 26 November 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: