दिलचस्प पोस्ट
क्लास विधि को कॉल करते समय "अपरिभाषित फ़ंक्शन पर कॉल करें" त्रुटि JQuery में getJSON के लिए कैश कैसे सेट करें? जावास्क्रिप्ट का उपयोग करते हुए ब्राउज़र में वापस बटन को अक्षम कैसे करें अपरिभाषित विधि 'कार्य' रेक 0.9.0 का उपयोग कर एंड्रॉइड: मैं एसडी कार्ड पर एक वीडियो फाइल कैसे डाउनलोड करूं? कैसे 'sizeof' (एक सरणी के लिए एक संकेत सूचक) को खोजने के लिए? उपप्रक्रियाकॉल का आउटपुट पुनर्प्राप्त करना () जब अजगर एक स्ट्रिंग को प्रशिक्षित करता है क्या यह संभव है कि केवल एक ही गुजरने वाली एक सूची का द्रुतशीप करना संभव है? गतिविधि और टुकड़ा गतिविधि के बीच का अंतर कैसे WPF में pageload पर कॉम्बो बॉक्स में – डिफ़ॉल्ट पाठ "- टीम का चयन करें" प्रदर्शित करने के लिए? पैरामीटर के साथ सजावटी? विंडोज में गिट सिमलिंक सीज़न का उपयोग करके होवर पर भाई तत्वों का रंग बदलें क्या पुनर्प्राप्ति विधि को 'रिक्त' वापस करना चाहिए या अपवाद फेंकता है, जब वह वापसी मूल्य का उत्पादन नहीं कर सकता है?

Std :: स्ट्रिंग के लिए एक इंट संलग्न करें

क्यों यह कोड डीबग का निषेध विफल होता है?

std::string query; int ClientID = 666; query = "select logged from login where id = "; query.append((char *)ClientID); 

Solutions Collecting From Web of "Std :: स्ट्रिंग के लिए एक इंट संलग्न करें"

std::string::append() विधि का तर्क है कि इसका तर्क एक निरस्त टर्मिनल स्ट्रिंग ( char* ) है।

एक string conteing int बनाने के लिए कई दृष्टिकोण हैं:

  • std::ostringstream

     #include <sstream> std::ostringstream s; s << "select logged from login where id = " << ClientID; std::string query(s.str()); 
  • std::to_string (C ++ 11)

     std::string query("select logged from login where id = " + std::to_string(ClientID)); 
  • boost::lexical_cast

     #include <boost/lexical_cast.hpp> std::string query("select logged from login where id = " + boost::lexical_cast<std::string>(ClientID)); 

स्ट्रिंग प्राप्त करने के लिए आप चार * में कोई आंत नहीं डाल सकते। इसे इस्तेमाल करे:

 std::ostringstream sstream; sstream << "select logged from login where id = " << ClientID; std::string query = sstream.str(); 

स्ट्रिंग स्ट्रीम संदर्भ

आप ClientID को चार * कास्टिंग कर रहे हैं जिससे फ़ंक्शन को इसकी एक नल टेरीटेड चार सरणी मान ली जाती है, जो कि यह नहीं है।

cplusplus.com से:

स्ट्रिंग और संलग्न (const char * s); एस द्वारा इंगित की गई निरर्थक वर्ण अनुक्रम (सी स्ट्रिंग) द्वारा बनाई गई तार की एक प्रति संलग्न करता है इस चरित्र अनुक्रम की लंबाई को एक निरर्थक वर्ण की पहली अवस्था के द्वारा निर्धारित किया जाता है (जैसा लक्षणों द्वारा निर्धारित किया जाता है। लम्बाई (ओं)

मुझे लगा है कि आपका ClientID एक स्ट्रिंग टाइप (शून्य-टर्मिनेटेड char* या std::string ) का नहीं है, लेकिन कुछ इंटेग्रल टाइप (जैसे int ) तो आपको पहले स्ट्रिंग में नंबर बदलने की आवश्यकता है:

 std::stringstream ss; ss << ClientID; query.append(ss.str()); 

लेकिन आप operator+ भी इस्तेमाल कर सकते हैं ( append बजाय):

 query += ss.str();