मैं एक विधि के लिए देख रहा हूँ, या परिवर्तित std :: स्ट्रिंग के लिए एक कोड का टुकड़ा एक std :: स्ट्रिंग का उपयोग करने काकैसे सी में LPCWSTR को std :: स्ट्रिंग परिवर्तित करने के लिए ++ (यूनिकोड)
उत्तर
एमएसडीएन आलेख के लिंक के लिए धन्यवाद। यही वह है जिसकी तलाश में मैं हूं।
std::wstring s2ws(const std::string& s)
{
int len;
int slength = (int)s.length() + 1;
len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0);
wchar_t* buf = new wchar_t[len];
MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len);
std::wstring r(buf);
delete[] buf;
return r;
}
std::wstring stemp = s2ws(myString);
LPCWSTR result = stemp.c_str();
(इस सवाल को यादृच्छिक रूप से ब्राउज़ किया गया; सी ++ के बाद से यह काफी समय हो गया है।) तो मानक लाइब्रेरी में std :: string -> std :: wstring रूपांतरण नहीं है? यह अजीब लगता है; क्या कोई अच्छा कारण है? – Domenic
यदि आप buf के लिए संग्रहण बनाने के लिए std :: vector
कारण # 233 क्यों सी ++ ने मुझे एक साधारण स्ट्रिंग रूपांतरण =/ –
LPCWSTR को इसके बजाय, आप एक std :: wstring का उपयोग कर सकते हैं।
संपादित करें: क्षमा करें यह अधिक व्याख्यात्मक नहीं है, लेकिन मुझे दौड़ना है।
उपयोग std :: wstring :: c_str()
* क्यू: "मुझे एक्स से वाई में कनवर्ट करने की आवश्यकता है।" * - * ए: "नौकरी की तलाश करें, जहां वे एक्स के बजाए ए का उपयोग कर रहे हैं।" * यह बेकार है। – IInspectable
आप एक ATL/MFC वातावरण में कर रहे हैं, आप ATL रूपांतरण मैक्रो का उपयोग कर सकते हैं:
#include <atlbase.h>
#include <atlconv.h>
. . .
string myStr("My string");
CA2W unicodeStr(myStr);
फिर आप एक के रूप में उपयोग कर सकते हैं unicodeStr LPCWSTR। यूनिकोड स्ट्रिंग के लिए स्मृति स्टैक पर बनाई गई है और फिर यूनिकोड एसआरटी निष्पादन के लिए विनाशक को जारी किया गया है।
समाधान वास्तव में अन्य सुझावों में से किसी की तुलना में बहुत आसान है:
std::wstring stemp = std::wstring(s.begin(), s.end());
LPCWSTR sw = stemp.c_str();
और सबसे अच्छी बात यह मंच स्वतंत्र है। H2H :)
क्षमा करें बेनी लेकिन यह मेरे लिए काम नहीं करता है, तो टोरन का अपना समाधान ठीक काम करता प्रतीत होता है (लेकिन..लेग!)। –
कामकाजी ठीक है। धन्यवाद। – Durgesh
यह केवल तभी काम करता है जब सभी वर्ण एकल बाइट हैं, यानी ASCII या [आईएसओ -885 9 -1] (http: //en.wikipedia।org/wiki/ISO-8859-1)। कुछ भी बहु-बाइट यूटीएफ -8 समेत दुखी हो जाएगा। –
string s = "Hello World";
std::wstring stemp = std::wstring(s.begin(), s.end());
LPCWSTR title =(LPCWSTR) stemp.c_str();
LPCWSTR wname =(LPCWSTR) "Window";
HINSTANCE hInst = GetModuleHandle(0);
WNDCLASS cls = { CS_HREDRAW|CS_VREDRAW, WndProc, 0, 0, hInst, LoadIcon(hInst,MAKEINTRESOURCE(IDI_APPLICATION)),
LoadCursor(hInst,MAKEINTRESOURCE(IDC_ARROW)), GetSysColorBrush(COLOR_WINDOW),0,wname };
RegisterClass(&cls);
HWND window = CreateWindow(wname,title,WS_OVERLAPPEDWINDOW|WS_VISIBLE,64,64,640,480,0,0,hInst,0);
MSG Msg;
while(GetMessage(&Msg,0,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
आप एक मध्यवर्ती के रूप CString
उपयोग कर सकते हैं:
std::string example = "example";
CString cStrText = example.c_str();
LPTSTR exampleText = cStrText.GetBuffer(0);
- 1. सी स्टाइल स्ट्रिंग को सी ++ स्टाइल स्ट्रिंग में परिवर्तित करना
- 2. यूटीएफ -8 स्ट्रिंग को यूनिकोड में कैसे परिवर्तित करें?
- 3. हेब्रू (यूनिकोड) से अससी में सी # को कैसे परिवर्तित करें?
- 4. Convert चार [] LPCWSTR को
- 5. आप LPCWSTR से const char * को कैसे परिवर्तित करते हैं?
- 6. std :: string से lPCSTR को कैसे परिवर्तित करें?
- 7. std :: स्ट्रिंग सी # में?
- 8. मैं एक पूर्णांक को सी में यूनिकोड स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?
- 9. सी-शैली स्ट्रिंग को एक सी ++ std :: स्ट्रिंग
- 10. चीनी चरित्र को यूनिकोड में परिवर्तित करना
- 11. सी लाइब्रेरी यूनिकोड कोड पॉइंट्स को यूटीएफ 8 में परिवर्तित करने के लिए?
- 12. सी शून्य करने के लिए एडीए स्ट्रिंग परिवर्तित *
- 13. std :: वेक्टर स्ट्रिंग करने के लिए
- 14. मैं एक यूनिकोड पथ को सी स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?
- 15. मैं स्ट्रिंगस्ट्रीम से सी ++ में स्ट्रिंग में कैसे परिवर्तित करूं?
- 16. सी # में स्ट्रिंग करने के लिए System.Decimal बिट्स को कैसे परिवर्तित करें?
- 17. सी ++ में unsigned char * से std :: स्ट्रिंग को कैसे परिवर्तित करें?
- 18. कैसे उद्देश्य सी में स्ट्रिंग के लिए पूर्णांक परिवर्तित करने के लिए
- 19. सी ++ std :: स्ट्रिंग
- 20. पायथन (2.6) में JSON को डीकोड करने के लिए और यूनिकोड को कैसे डीकोड करें?
- 21. यूनिकोड स्ट्रिंग को utf-8 या utf-16 स्ट्रिंग में कैसे परिवर्तित करें?
- 22. मैं पाइथन में यूनिकोड वर्णों को फ़्लोट करने के लिए कैसे परिवर्तित करूं?
- 23. मैं यूनिकोड को अपरकेस में प्रिंट करने के लिए कैसे परिवर्तित कर सकता हूं?
- 24. स्ट्रिंग को लंबे समय तक परिवर्तित करने के लिए
- 25. मैं nchar को स्ट्रिंग में सी # में कैसे परिवर्तित करूं?
- 26. मैं यूनिकोड से बचने के अनुक्रमों को एक .NET स्ट्रिंग में यूनिकोड वर्णों में कैसे परिवर्तित करूं?
- 27. .NET मानक प्रारूप स्ट्रिंग को Excel प्रारूप स्ट्रिंग में परिवर्तित करने के लिए कैसे करें
- 28. कैसे सी # में PNG प्रारूप में एक Base64 PNG छवि स्ट्रिंग परिवर्तित करने के लिए
- 29. NSArray को NSString में परिवर्तित करने के लिए कैसे करें
- 30. gnuplot में स्ट्रिंग में स्ट्रिंग को कैसे परिवर्तित करें?
हम रिवर्स कैसे करते हैं? – Sohaib
मैं Google से विपरीत करने की कोशिश कर रहा था। क्या आपको कोई विधि नहीं मिली? –