我需要一些帮助。我正在修改DecToHex函数。C解析dec到十六进制并输出为char []
对于输入DecimalNumber设置= 7:
实际输出:
sizeToReturn = 2;
hexadecimalNumber[1] = 7;
hexadecimalNumber[0] = N/A (is garbage);
希望的输出:
sizeToReturn = 3
hexadecimalNumber[2] = 0
hexadecimalNumber[1] = 7
hexadecimalNumber[0] = N/A (is garbage)
功能:
void DecToHex(int decimalNumber, int *sizeToReturn, char* hexadecimalNumber)
{
int quotient;
int i = 1, temp;
quotient = decimalNumber;
while (quotient != 0) {
temp = quotient % 16;
//To convert integer into character
if (temp < 10)
temp = temp + 48; else
temp = temp + 55;
hexadecimalNumber[i++] = temp;
quotient = quotient/16;
}
(*sizeToReturn) = i;
}
这将每个U8追加到一个数组:
for (int k = size - 1;k > 0;k--)
AppendChar(Str_pst, toAppend[k]);
请提供您如何期待您的输出看起来像。 – tilz0R
当我用DecToHex(7,&len,buff)调用你的函数后,buff的第一个字符不是'7',并且长度不是1,这是你的声明暗示的。 buff的第一个字符是chr(200),第二个字符是chr(55)。 – jeff6times7
你的输入是什么,你想要做什么不明确 – Gopi