#visual-c
#visual-c
Вопрос:
Мне нужно преобразовать тип String ^ в шестнадцатеричное строковое представление. Я пишу на MSVC ’05. Нужна помощь с алгоритмом, я уже пробовал функцию strtol, и она не выдает ожидаемый результат.
String^ str = "993";
Я хочу, чтобы str был преобразован в шестнадцатеричный, который равен 0x03E1, как мне это сделать? Любая помощь или указания будут высоко оценены. Заранее спасибо.
Комментарии:
1. Int32(Int32::Parse(str)). toString(«x»)
Ответ №1:
Преобразование его в шестнадцатеричное находится в части отображения.
String^ str = "993";
int value;
if(!Int32::TryParse(str,value))
{
Console::WriteLine("Failed, exiting");
return -1;
}
Console::WriteLine(value.ToString("X"));
Это указывает, что выходные данные должны быть шестнадцатеричными —— ^^^
Комментарии:
1. Привет, спасибо за быстрый ответ. Но я не собираюсь выводить через консоль, а вместо этого сохраняю его как переменную и передаю шестнадцатеричное представление в качестве аргумента любой функции, которая этого требует. Итак, я не могу зависеть от консоли ::WriteLine (), верно? Какой-либо альтернативный метод, который вы знаете? 😉 Заранее спасибо.
2. @user714826 Вы говорите о преобразовании строки в шестнадцатеричную строку? Представление целого числа в системе в двоичном формате, остальное — просто оформление витрины. Тогда все, что вам нужно для этого, передается в виде целого числа.
3. Прошу прощения, если я не ясно выразился, ага, от строки к шестнадцатеричной строке. 🙂
4. @user714826 Хорошо, в таком случае просто замените последнюю строку кода на
String^ hextring = value.ToString("X");
. Затем передайте в шестнадцатеричную строку.