我推送新元素到char數組前面有問題。我在我的程序中有一個函數,它有兩個參數:一個指向char數組的指針和一個指向int的指針。該函數用一些數據填充數組,並返回此數組中元素的數量。如何插入,將新元素添加到char數組中
int function1(char* buffer , int* outSize);
buffer[1000]
int size;
result = function1(buffer , &size);
// after this a get some data in buffer and count how many data is in buffer. let's say 456 elements
// now a try push to front two new bytes as size this array
finallBuffer *char = new char[size+2];
memcpy(finallyBuffer, (char*)&size, 2); // here a get size in two bytes and put to finnalBuffer
// next I try just copy to finnalyBuffer received data from Buffer
strcat(finallyBuffer , buffer);
doSomething(finallyBuffer);
delete []finallyBuffer;
在此之後在finnalyBuffer我只保存大小兩個字節。爲什麼我看不到來自緩衝區的數據?
在最後我要實現新表在前面的兩個新的字節。這兩個字節是大小舊的表。比方說,接收到的數據HEVE只有5個字符
char table[5] = {'a','b','b','c','t'}
;
所以尺寸爲5.5兩個字節是char size = {'5','0'};
結果應該是的樣子。
char table[5] = {'5','0','a','b','b','c','t'}
;
你是什麼意思「推到前面」? – Olaf
這不是C.不要添加不相關的標籤。 – Olaf
你有沒有考慮過使用'struct'?它將有2個成員:'int numBytesRead;字符緩衝區[1000]'。 –