- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要在 C 中使用 libcurl 了解我的下载状态。我发现我必须使用 CURLOPT_PROGRESSFUNCTION。
int progress_func(void* ptr, double TotalToDownload, double NowDownloaded,
double TotalToUpload, double NowUploaded)
{
//Bla bla
}
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE);
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_func);
我不明白两件事:1) 这个函数 progress_func “多久”被调用一次?2) 如何将其他参数传递给 progress_func 函数?因为我必须在具有可变 url 的文件中写入连接状态(速度、下载总数),所以我必须将此 url 传递给函数。
谢谢
最佳答案
参见 CURLOPT_PROGRESSDATA
:
struct my_progress_data_struct
{
/* Some data fields */
};
struct my_progress_data_struct progress_data;
curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &progress_data);
数据将在进度回调的 ptr
参数中传递。
关于第一个问题,根据API reference回调将“大约每秒一次或更早”被调用。
关于c - libcurl c CURLOPT_PROGRESSFUNCTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946075/
在libcurl中,设置CURLOPT_PROGRESSFUNCTION调用的函数中的参数是什么意思? int function(void *clientp, double dltotal, doub
我想知道是否可以在使用时调用的函数中添加一个自定义参数 curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, array($this, 'progressFunctio
我在 curl_setopt() documentation 中看到您可以设置一个回调函数来显示 curl_exec 的进度。回调函数的使用方法就不多说了。有人知道吗?我只想输出已下载到 STDOUT
我需要在 C 中使用 libcurl 了解我的下载状态。我发现我必须使用 CURLOPT_PROGRESSFUNCTION。 int progress_func(void* ptr, double T
我通过 CURLOPT_PROGRESSFUNCTION 选项获得了一个 CURL 进度回调,它成功地调用了我在 PHP 中的成员函数。 dlnow 变量返回正确的接收值,但 dltotal 始终返回
我是一名优秀的程序员,十分优秀!