は以下の通り*私たちは文字を定義したと想定しますvoid *の末尾にchar *を追加する方法は?
char *x;
そして、我々はそれのような機能があります。
void append(void *y, char *z);
この関数は、それはだ追加ポインタZを指している2番目のパラメータ( )をポインタのyという文字列の最後に指しています。私は最初のパラメータを持つように制限されています理由は無効とする*は私がlibcurl関数をオーバーライドする必要があるということです。
size_t header_callback(char *buffer, size_t size, size_t nitems, void *userdata);
header_callback機能は、私がの最後にバッファを追加する必要があると呼ばれている任意の時間ユーザーデータ。ユーザーデータポインタが文字列の先頭を指しています。
'void * y'は' std :: string'を指していますか?または 'char'バッファ? – Galik
裸のポインタを持ってそれに追加するのは、あなたが境界を越えていないことを確かめることができない限り、かなり安全ではありません。 –
'void'ポインタを最初に指定したタイプにキャストし、必要な操作を実行してキャリーを実行します。 'buffer * 'を使うためのトリックをコピーする通常の文字列にはカウントできないので、' size * nitems'を指定してください。 – user4581301