Строка в C ++ уже является массивом символов, если ваша программа чата не использует Unicode или другую кодировку набора символов. В этом случае все становится намного сложнее, потому что строка может быть байтовым массивом, свежим из сети (не символами), или массивом декодированных широких символов (строка wstring).
Но при условии, что у вас есть либо строка ASCII из 8-битных символов, либо декодированная широкая строка из 32-битных символов, шаги 1 и 2 довольно просты. Шаг 1 сделан для вас. Вы должны иметь возможность доступа к каждому символу, используя индекс массива, например mystring[1]
, mystring[2]
. Шаг 2 прост, потому что символы являются числами. Просто сделайте свою математику на значении персонажа. Вы можете добавлять, вычитать или умножать: все что угодно. Имейте в виду, что 8-битный символ, вероятно, имеет диапазон значений от -128 до +127.
Порядок символов в строке не меняется. Так что просто оставьте их на месте.
Если ваш метод кодирования изменяет длину строки, вам нужно будет создать новую копию строки. Лучший способ сделать это, пока вы занимаетесь математикой. В C ++ используйте метод push_back
, чтобы добавить новый символ в «конец» новой строки.