假设我们已经定义了一个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