Я пытаюсь заполнить эту структуру строк темой и отправителем данного письма.Структура:
struct EmailData {
string msg_subject;
string msg_sender;
};
Я использовал функцию writedata, например, такую, которая ранее записывала в простую строку.
size_t CurlWrite(void* contents, size_t size, size_t nmemb, struct EmailData *Email)
{
size_t newLength = size * nmemb;
try
{
Email.msg_subject = ((char*)contents, newLength);
}
catch (std::bad_alloc& e)
{
//handle memory problem
return 0;
}
return newLength;
}
Однако я не знаю, как ее изменитьнапишите в каждый раздел структуры.
curl_easy_setopt(curl, CURLOPT_URL,
"imaps://imap.gmail.com:993/INBOX/;UID=*/;section=HEADER.FIELDS%20(Subject,From)");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWrite);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &Email);
Это релевантная часть функции curl IMAP.
Любые предложения о том, как можно исправить функцию CurlWrite, чтобы она моглаиспользовать структуру строк?Также есть ли способ автоматически опускать "From" и "Subject" в начале строк или мне нужно будет стереть строку после этого?