2013-11-27 4 views
0

Используя следующий примерный код, «x» содержит значение URL-адреса без URL-адреса, который когда-либо был сохранен на нем. Как это возможно? «X» используется только при его объявлении и при использовании для cout.Откуда берется значение 'x'?

#include <iostream> 
#include <string> 
#include <curl/curl.h> 
#include <time.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <sstream> 
using namespace std; 

string x; //will hold the url's contents 

int main() 
{ 
    CURL* var; //our curl object 

    curl_global_init(CURL_GLOBAL_ALL); //pretty obvious 
    var = curl_easy_init(); 

    curl_easy_setopt(var, CURLOPT_URL, "http://www.example.com/path"); 

    curl_easy_perform(var); 

    cout << endl << x << endl; 
    cin.get(); 

    curl_easy_cleanup(var); 
    curl_global_cleanup(); 

    return 0; 
} 
+2

Вы проверили код? – ApplePie

+0

Да, и он выводит html прямо на консоль. – Cameron346

+1

Измените строку 'cout' на' cout << "\ nx =" << x << endl; '. Возможно, что одна из функций 'curl_' фактически выводит URL-адрес. – Matt

ответ

0

Это функция curl_easy_perform(), который выводит содержимое этого URL, так как его по умолчанию отправляет вывод на стандартный вывод.

«x» - это глобальное значение, которое по умолчанию обнуляется и, следовательно, выводится как ничто.

Смежные вопросы