У меня есть массив unsigned char, который мне нужен в std :: string, но мой текущий способ использует reinterpret_cast, которого я бы хотел избежать. Есть ли более чистый способ сделать это?Способ получения unsigned char в std :: string без reinterpret_cast?
unsigned char my_txt[] = {
0x52, 0x5f, 0x73, 0x68, 0x7e, 0x29, 0x33, 0x74, 0x74, 0x73, 0x72, 0x55
}
unsigned int my_txt_len = 12;
std::string my_std_string(reinterpret_cast<const char *>(my_txt), my_txt_len);
И почему вам не нравится 'reinterpret_cast' ...? – egrunin
Кажется, что это взломать, чтобы заставить бросить, я бы предпочел использовать вещи, а не принуждать комплитера относиться к ним как к чему-то другому. – WilliamKF
Почему бы вам не использовать 'char' для' my_txt'; в конце концов, те значения, которые вы опубликовали, - ASCii. Это может привести к решению других вопросов. –