在按下enter之前,Curl不处理第二个请求c ++

时间:2015-08-12 22:15:14

标签: c++ curl libcurl

我有一个简单的c ++应用程序,其中qr扫描程序从扫描程序读取代码,与curl一起使用来处理URL,它在第一次扫描时工作得很好但是当第二次尝试扫描时,curl没有处理网址。直到在键盘上按下回车键,这是不可行的。任何建议将不胜感激。

void sendurl(string s){
   curl_global_init( CURL_GLOBAL_ALL );
   CURL * myHandle;
   CURLcode result;
   myHandle = curl_easy_init ( ) ;
   curl_easy_setopt(myHandle, CURLOPT_URL, s.c_str());
   result = curl_easy_perform( myHandle );
   curl_easy_cleanup( myHandle );
   content();

}


void content() {
   cout << "Please Enter QR Code";
   string mystr;
   getline (cin,mystr);
   while (mystr != "exit"){
       sendurl(mystr);
}
   }


int main () {
   content();
   return 0;
}

1 个答案:

答案 0 :(得分:1)

我认为这就是你想要的

检查代码与此之间的差异。

void sendurl(string s){
   curl_global_init( CURL_GLOBAL_ALL );
   CURL * myHandle;
   CURLcode result;
   myHandle = curl_easy_init ( ) ;
   curl_easy_setopt(myHandle, CURLOPT_URL, s.c_str());
   result = curl_easy_perform( myHandle );
   curl_easy_cleanup( myHandle );
}


void content() {
   string mystr;
   while (mystr != "exit"){
     cout << "Please Enter QR Code";
     getline (cin,mystr);
     sendurl(mystr);
  }
}


int main () {
   content();
   return 0;
}