我无法发送大量数据的邮件。 在执行发送邮件时出现分段错误。 谷歌搜索后发现,设置CURL_MAX_WRITE_SIZE可以解决问题,但这不能在我的应用程序中设置。 我试过下面,如何在curl中设置CURL_MAX_WRITE_SIZE?
#ifdef CURL_MAX_WRITE_SIZE
#undef CURL_MAX_WRITE_SIZE
#define CURL_MAX_WRITE_SIZE 131072
#endif
而且回调函数是
size_t mail_payload_source(void *ptr, size_t size, size_t nmemb, void *userp){
struct mail_upload_status *upload_ctx = (struct mail_upload_status *)userp;
const char *data;
if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) {
return 0;
}
data = mail_char_ary_of_pntrs[upload_ctx->lines_read];
if(data) {
size_t len = strlen(data);
memcpy(ptr, data, len);
upload_ctx->lines_read++;
return len;
}
return 0;}
任何人都可以请建议解决类似的问题?
没有足够的上下文让潜在的回答者找出如何帮助你。你的问题与卷曲有什么关系? – Leon
“res = curl_easy_perform(curl);” –