假設我們已經定義了一個char *如下:如何將一個char *追加到void *的末尾?
char *x;
而且我們有喜歡它的功能:
void append(void *y, char *z);
該函數將它的第二個參數(在指針ž所指向)到指針和指向它開始的字符串的末尾。 ,我限制爲具有第一個參數的原因是無效*是,我需要重寫一個libcurl功能:
size_t header_callback(char *buffer, size_t size, size_t nitems, void *userdata);
任何時候header_callback函數被調用,我需要追加緩衝區結束用戶數據。 userdata指針指向一個字符串的開頭。
'void * y'指向'std :: string'嗎?或者一個'char'緩衝區? – Galik
只具有裸指針和追加到它是非常不安全的,除非你能確保你不會出界。 –
將'void'指針重新轉換爲您首先提供的任何類型,執行您所需的任何操作,即可繼續。確保你提供'size * nitems',因爲你不能指望通常的字符串複製技巧來處理'buffer'。 – user4581301