我有一個C函數,接收uint8
指針,其中的另一個參數是它的大小(字節數)。從uint8中提取數據到雙倍
我想從這個緩衝區提取double
數據。這裏是我的代碼:
Write(uint8* data, uint8 size) /* data and size are given by a callback to my function)*/
{
double d;
for (i = 0; i < size; i++)
{
d = ((double*)&data)[i];
printf(" d = %d\n");
}
}
問題是我沒有收到我在外部硬件內發送的內容。我想我的演員是錯的。我嘗試了其他方法,但沒有任何好的結果。我仍然無法得到我發送的內容。
你怎麼把'double'放到數據流中? I.E.你如何得到'uint8',因爲它可能是網絡字節順序,可能與你的計算機字節順序不同。 – sean
幾乎所有關於此代碼的內容都是提高頭髮的。您收到的數據的確切格式是什麼? –
就像Kerrek SB所說,這個代碼有很多不同的問題。包括你的「printf()」不使用「d」的事實。 – paulsm4