Строка разделения в массив символов в C++

Я пишу программу, которая требует, чтобы строка была оценочной, затем разбитая в отдельные буквы. По существу я нуждаюсь в помощи, находя способ повернуть "строку" в ["s", "t", "r", "i", "n", "g"]. Строки также хранятся с помощью типа данных String вместо просто массива символов быть значением по умолчанию. Я хотел бы сохранить это тем путем и избежать символа, но буду использовать его при необходимости.

Любая справка была бы хороша, заранее спасибо.

12
задан Galileo 29 January 2010 в 00:00
поделиться

4 ответа

string a = "hello"; 
cout << a[1];

Я надеюсь, что это объясняет это

17
ответ дан 2 December 2019 в 03:48
поделиться

Строка - это просто последовательность базового символа (I.E. CHAR для STD :: string и wchar_t для std :: wstring).

Из-за этого вы легко получаете каждую букву:

for (std::string::size_type l = 0; l < str.length(); ++l)
{
    std::string::value_type c = str[l];
}
1
ответ дан 2 December 2019 в 03:48
поделиться

Предположим, что вы уже ввели строку:

string s("string");
vector<char> v(s.begin(), s.end());

Это заполнит вектор v символами из строки.

20
ответ дан 2 December 2019 в 03:48
поделиться

Попробуйте использовать метод C_STR () STD :: string :

#include <string>
using namespace std;

int main(void)
{
  string text = "hello";
  size_t length = text.length() + sizeof('\0');
  char * letters = new char[length];
  strcpy(letters, length.c_str());
  for (unsigned int i = 0; i < length; ++i)
  {
      cout << '[' << i << "] == '" << letters[i] << "'\n";
  }
  return EXIT_SUCCESS;
}
1
ответ дан 2 December 2019 в 03:48
поделиться
Другие вопросы по тегам:

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