C ++ Десятичное значение в шестнадцатеричном (строковый подканал вне диапазона)

M. Meek спросил: 11 июня 2018 в 10:03 в: c++

У меня возникла проблема, когда я пытался создать код, который преобразует десятичную строку в шестнадцатеричную строку. Эта проблема, с которой я столкнулся, является ошибкой "индекс строки за пределами диапазона". Я не могу понять, где строка конфликтует с диапазоном, поэтому я пришел сюда, чтобы попросить вашу помощь узнать, что вызывает ошибку!

Это код

int i;
int temp;
string hex;
long totalDecimal;
cin >> totalDecimal;for (i = 0; totalDecimal != 0; i++)
{
    temp = totalDecimal % 16;    if (temp < 10)
    {
        hex[i] = temp + 48;
    }
    else
    {
        hex[i] = temp + 55;
    }    totalDecimal = totalDecimal / 16;
}cout << hex;
return 0;

Как это исправить?

0 ответов