CString
काफी आसान है, जबकि std::string
एसटीएल कंटेनर के साथ अधिक संगत है। मैं hash_map
का उपयोग कर रहा हूं। हालांकि, hash_map
CString
को कुंजी के रूप में समर्थन नहीं करता है, इसलिए मैं CString
को std::string
में परिवर्तित करना चाहता हूं।CString और :: std :: string :: std :: wstring को दूसरे में कैसे परिवर्तित करें?
CString
हैश फ़ंक्शन लिखने में काफी समय लगता है।
CString -----> std::string
मैं यह कैसे कर सकता हूं?
std::string -----> CString:
inline CString toCString(std::string const& str)
{
return CString(str.c_str());
}
क्या मैं सही हूँ?
संपादित करें:
मैं कैसे परिवर्तित कर सकते हैं wstring
, एक दूसरे के लिए CString
:
यहाँ अधिक सवाल कर रहे हैं?
//wstring -> CString,
std::wstring src;
CString result(src.c_str());
//CString->wstring.
CString src;
::std::wstring des(src.GetString());
वहाँ किसी भी समस्या है?
मैं std::wstring
, std::string
को एक-दूसरे से कैसे परिवर्तित कर सकता हूं?
मैं यह कर नहीं होगा ... दो अलग तार प्रकार का उपयोग करना काफी बुरा है, लेकिन हर बार जब आप एक नक्शे के साथ कुछ करना कन्वर्ट करने के लिए आ रही हैं? भयानक लगता है। बस सुसंगत रहें और std :: स्ट्रिंग का उपयोग करें। अगर किसी कारण से आप वास्तव में सोचते हैं कि सीएसटींग बेहतर है, तो इसके लिए हैश फ़ंक्शन को परिभाषित करें ताकि आपका हैश_मैप इसका उपयोग कर सके, यह आपके कोड में उलझन में दोगुनी से कहीं बेहतर है। – GManNickG
असल में, यदि सभी कोड स्वयं द्वारा लिखे गए हैं तो यह सुसंगत रहेगा, लेकिन कुछ ओपनोरस्ड प्रोजेक्ट हैं जैसे कि फ्रीमेज स्क्लाइट का उपयोग किया जाता है। मैं वहां कोड संशोधित नहीं कर सकता। – user25749