Подтвердить что ты не робот

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

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

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

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

Я пробовал

string firstLetter = str[0] + "";

и

string firstLetter = & str[0]; 

Ничего не работает. Идеи?

4b9b3361

Ответ 1

Вне верхней части головы, если вы используете STL, сделайте следующее:

string firstLetter(1,str[0]);

Ответ 2

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

string firstletter( 1, str[0]);

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

string firstletter2( str.substr(0, 1));

Ответ 3

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));

Ответ 4

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

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

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

cout << foo << endl; // "foo"
cout << f << endl; // "f"

Ответ 5

char characterVariable = 'z';
string cToS(1, characterVariable);

//cToS is now a string with the value of "z"

Ответ 6

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

Ответ 7

string s;
char a='c';
s+=a; //now s is "c"

или

char a='c';
string s(a); //now s is "c"