2013-11-27 137 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的内容,因为它默认将输出发送到stdout。

'x'是一个默认情况下归零的全局,因此输出为无。