Как std::string преобразовать в System::string

std::map<int, std::string> DayWeek;
DayWeek[0] = "Суббота";
DayWeek[1] = "Воскресенье";
DayWeek[2] = "Понедельник";
DayWeek[3] = "Вторник";
DayWeek[4] = "Среда";
DayWeek[5] = "Четверг";
DayWeek[6] = "Пятница"; 

label_day->Text=Convert::ToString(DayWeek[Day]);

Нужно вывести значение словаря, но у convert нет перегрузки, пытался через цикл в массив символов - не выходит, c_str - выводит True, а не значение словаря, буду очень признателен за помощь.


Ответы (1 шт):

Автор решения: Qwertiy

Вполне подойдёт так:

label_day->Text = gcnew String(DayWeek[Day].c_ctr());

Но есть подозрение, что в общем случае правильнее

std::string &day = DayWeek[Day];
label_day->Text = gcnew String(day.c_ctr(), 0, day.length());

Хотя вообще-то логичнее было бы использовать

std::map<int, const char *> DayWeek;

label_day->Text = gcnew String(DayWeek[Day]);
→ Ссылка