@holymotion

Как преобразовать string[] в char[]?

Суть такая, у меня есть строка string[] str2 = ["255","244","233","222"] - можно ли мне из неё получить массив символов, например chr[] chr1 - 255, 244, 233 и т.п. - мне это нужно для того, что бы получить строку(например, "ПАПА"), по сути у меня в str2 хранится слово в байтовом виде.
  • Вопрос задан
  • 785 просмотров
Пригласить эксперта
Ответы на вопрос 2
@MiiNiPaa
1) Используйте stoi чтобы превратить каждую строку в число.
2) Присваиваете каждое полученное число элементу чар массива.

Код (кодировка символов в строке — CP866):
#include <algorithm>
#include <iostream>
#include <string>

int main()
{
    std::string strings[] = {"143", "224", "168", "162", "165", "226"};
    char line[16] {};

    std::transform(std::begin(strings), std::end(strings), std::begin(line),
                   [](const std::string& s) {
                        return std::stoi(s); });
    std::cout << line;
}
Ответ написан
Комментировать
@ar4ebaldello
Вариант с русской кодировкой.
private static readonly Encoding Windows1251Encoding = Encoding.GetEncoding(1251);
static string FromCyrillicStringArray(string[] values)
{
    var bytes = new byte[values.Length];
    for (var i = 0; i < values.Length; i++)
        bytes[i] = Convert.ToByte(values[i]);
    return Windows1251Encoding.GetString(bytes);
}
...
var codes = new[] { "207", "192", "207", "192" };
Console.WriteLine(FromCyrillicStringArray(codes) == "ПАПА"); // true
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы