libcurlでは、ファイル転送ごとに「ハンドル」を作成できます。これにより、ファイルのURLと、URLから取得されたファイルのビットとピースを受け取るコールバック関数を指定することができます。ハンドルごとに異なるコールバックが必要な場合はどうなりますか?あなたはこれについてどうやって行きますか?コールバックは非メンバ関数(または静的メンバ関数)でなければならないことに注意してください。あなたがハンドル動的を作成している場合を除きlibcurl、ハンドルごとに異なるコールバック関数を接続するにはどうすればいいですか?
size_t callback1(void* buffer, size_t size, size_t nmem, void* userp);
size_t callback2(void* buffer, size_t size, size_t nmem, void* userp);
size_t callback3(void* buffer, size_t size, size_t nmem, void* userp);
// ...etc
これは、作品:
一つの方法は、手動でのような、戻ってあなたのハンドルごとに異なるコールを入力することです。
void f(){
CURLHandle handle = curl_easy_init();
// set the url to some random url
// set a *unique* call back for this handle
}
どうすればよいですか?メンバー関数をコールバックとして使用することができれば簡単に解決できますが、できません。
['std :: bind()'](http://en.cppreference.com/w/cpp/utility/functional/bind)が便利かもしれません。 –