我有一個我認爲簡單的問題,但很遺憾,找不到解決方案。在其他數組中使用fileGetString的十六進制值
我在.txt文件中有一個十六進制數據的數組(例如0x01 0x02 [...]),並希望將此數據用於其他功能。 目的是爲了使用數組中的某些部分(在本例中爲數組編號100)以及不發生變化並向ECU發送請求的靜態值。
當我從文件中讀取fileGetString的數據並將其打印到控制檯時,它會很好(如0x01 0x02等等)。
當我嘗試將它用於下面看到的函數時,它不採用正確的十六進制值(例如StringLongWrite [100] = 0xFF),但在跟蹤數據中只使用「30」。
所以發送的請求將是11 12 13 30而不是11 12 13 FF,下面的例子。
有沒有簡單的方法來解決這個問題? (最初我在.txt文件中得到了我想要以格式「01 02 03 ... FF ...」寫入的數據,並已將其轉換爲「0x01 0x02 0x03 ... 0xFF ...」數據,只是如果第一數據類型更容易使用...)
很多感謝和問候羅伯特
case 1: /* write memory */
if(something);
glbHandleWrite = openFileRead ("test.txt",0);
if (glbHandleWrite != 0 && fileGetString(StringLongWrite, elcount(StringLongWrite), glbHandleWrite) != 0)
{
SendReq[0] = 0x11;
SendReq[1] = 0x12;
SendReq[2] = 0x13;
SendReq[3] = StringLongWrite[100];
SendRequest(ServicePhys, 4);
setTimer(TimeOutTimer, TimeOutLong);
write ("data %s", StringLongWrite);
break;
}
else write("Data file cannot be opened ");
謝謝謝爾蓋您的反饋,我會試着去了解和使用您的解決方案。感謝和最好的問候羅伯特 – Robertk2016
@ Robertk2016不客氣。 – sergej
@ Robertk2016請讓我知道它是否適合你。 – sergej