Witam,
mam problem z pobieraniem źródła strony z linku zapisanego w zmiennej. Kod wygląda następująco:
#include <iostream>
#include <sstream>
#define CURL_STATICLIB
#include "curl/curl.h"
#ifdef _DEBUG
#pragma comment (lib, "curl/libcurl_a_debug.lib")
#else
#pragma comment (lib, "curl/libcurl_a.lib")
#endif
static int writer(char *data, size_t size, size_t nmemb, std::string *writerData)
{
if (writerData == NULL)
return 0;
writerData->append(data, size*nmemb);
return size * nmemb;
}
using namespace std;
int main()
{
string link = "https://www.onet.pl"; //onet służy tu jako przykład
string strona;
curl_global_init(CURL_GLOBAL_ALL);
CURL *curl = nullptr;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_URL, link);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &strona);
CURLcode res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
cout << strona;
return 0;
}
Jak można zauważyć, program ma pobrać źródło strony, zapisać je w zmiennej strona i wyświetlić. Gdy zamiast zmiennej link w pierwszej linijce if(curl) damy adres w postaci " ", program wykona swoje zadanie, lecz gdy wpiszemy tam zmienną, program nie zrobi nic. Czy możecie mi powiedzieć, co zrobić, aby program działał dla zmiennej?