Я пишу программу, которая требует, чтобы строка была оценочной, затем разбитая в отдельные буквы. По существу я нуждаюсь в помощи, находя способ повернуть "строку" в ["s", "t", "r", "i", "n", "g"]. Строки также хранятся с помощью типа данных String вместо просто массива символов быть значением по умолчанию. Я хотел бы сохранить это тем путем и избежать символа, но буду использовать его при необходимости.
Любая справка была бы хороша, заранее спасибо.
string a = "hello";
cout << a[1];
Я надеюсь, что это объясняет это
Строка - это просто последовательность базового символа (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];
}
Предположим, что вы уже ввели строку:
string s("string");
vector<char> v(s.begin(), s.end());
Это заполнит вектор v
символами из строки.
Попробуйте использовать метод 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;
}