Здравствуйте,
Из документации Libcurl опции CURLOPT_WRITEFUNCTION:
size_t write_callback(char *ptr, size_t size, size_t nmemb, void >*userdata);
Эта функция обратного вызова вызывается libcurl, как только будут >получены данные, которые необходимо сохранить. Для большинства >передач этот обратный вызов вызывается много раз, и каждый вызов >доставляет еще один фрагмент данных. ptr указывает на >доставленные данные, размер которых равен nmemb ; размер всегда >равен 1.
А зачем этот параметр вообще нужен, если он всегда равен 1 ?