0
我試圖把從Ptr在框架的端部中C.將整型指針,陣列
void myFunction(uint8_t * Ptr)
{
uint8_t frame[] = {0x1, 0x2, 0x3, *Ptr}
}
int _main()
{
myFunction("Hello");
}
在該溶液中,我把只有H的「你好」到幀[4]由於8位。
之後,我試圖
strcat((char*)frame, (char*) StateTxtPtr);
,但沒有奏效。
的解決方案應該是這樣的: 幀= {爲0x1,0x2,則0x3, 「H」, 「E」, 「L」, 「L」, 「O」}
感謝您的幫助!
解決方案**
void myFunction(uint8_t * Ptr, uint32_t TxtSize)
{
uint8_t frame[25] = {0x1, 0x2, 0x3, *Ptr}
memcpy(&frame[3], Ptr, TxtSize);
}
int _main()
{
uint32_t TxtSize = strlen((char *)&txt[i][0]);
myFunction("Hello", TxtSize);
}
爲什麼使用'{0x1,0x2,0x3,* Ptr}'而不是'{0x1,0x2,0x3,Ptr}'? – enedil
'frame'是一個數組,其長度在編譯時確定。如同你自己,編譯器如何做到這一點,並滿足你的需求。 –
@enedil這根本行不通,它甚至不會編譯。 – unwind