Преобразование кода символа для буквы в строку, содержащую саму букву в MSVC - PullRequest
1 голос
/ 01 октября 2019

MSVC 2015 CLI: я использовал следующий код для преобразования юникода для буквы A (т.е. десятичной 65) в строку, содержащую саму букву:

int i = 65;
char c = (char)(i);
return c.ToString();

Возвращенная строка не является "A"но "65"

Чтобы решить, мне пришлось использовать строку std, т.е.

int i = 65;
char c = (char)(i);
std::string MyStdString = &c;
String^ d = gcnew String(MyStdString.c_str());
return d;

Возвращенная строка "A"

Должен быть способрешить это без второго подхода. Хотя это решило мою проблему, я был бы признателен за помощь в синтаксисе для первого подхода и за понимание, почему он не будет работать как есть.

1 Ответ

1 голос
/ 01 октября 2019

Вы смешиваете между char и Char (Note Capital C ).

Следующий код должен дать ожидаемый результат:

int i = 65;
Char c = i;
Console::WriteLine(c.ToString());
...