/*****************************************************************************
FTP上传下载功能
*/
#include <stdlib.h>
#include <stdio.h>
#include <curl/curl.h>
#include <sys/stat.h>
/* parse headers for Content-Length */
size_t getcontentlengthfunc(void *ptr, size_t size, size_t nmemb, void *stream) {
int r;
long len = 0;
/* _snscanf() is Win32 specific */
//r = _snscanf(ptr, size * nmemb, "Content-Length: %ld/n", &len);
r = sscanf(ptr, "Content-Length: %ld/n", &len);
if (r) /* Microsoft: we don't read the specs */
*((long *) stream) = len;
return size * nmemb;
}
/* discard downloaded data */
size_t discardfunc(void *ptr, size_t size, size_t nmemb, void *stream) {
return size * nmemb;
}
//write data to upload
size_t writefunc(void *ptr, size_t size, size_t nmemb, void *stream)
{
return fwrite(ptr, size, nmemb, stream);
}
/* read data to upload */
size_t readfunc(void *ptr, size_t size, size_t nmemb, void *stream)
{
LIBCURL实现FTP上传下载功能
最新推荐文章于 2024-08-17 13:18:32 发布
该代码示例展示了如何使用LIBCURL库在C语言中实现FTP的文件上传和下载功能,包括设置超时、重试次数、断点续传等。通过`upload`函数上传本地文件到远程FTP服务器,`download`函数下载远程文件到本地,并提供了读写函数处理上传下载的数据流。
摘要由CSDN通过智能技术生成