我需要一些幫助。我正在修改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