[ad_1]
मुझे LPCWSTR से LPCSTR में कनवर्ट करना होगा।
मुझे इस कोड के लिए इसकी आवश्यकता है:
WFilePath path; WIN32_FIND_DATAA fd; HANDLE h; h = FindFirstFileA(path.GetString(), &fd);
मैंने क्या प्रयास किया है:
मैंने इंटरनेट पर खोजने की कोशिश की लेकिन मुझे नहीं मिला
समाधान 1
शायद ऐसा कुछ?
#include <string> LPCSTR ToLPCSTR(LPCWSTR wstr) { std::wstring ws(wstr); return ws.c_str(); }
ध्यान रखें कि प्रत्येक वाइडस्ट्रिंग कैरेक्टर को CStr में परिवर्तित करना संभव नहीं है, इसलिए आपको डेटा हानि हो सकती है।
समाधान 2
या तो सभी का उपयोग करें UNICODE
या सभी ASCII
, ऐसे मुद्दों से बचने के लिए। और आप कॉल कर सकते हैं FindFirstFileW
वह कौन सा है UNICODE
संस्करण, इसे सरल बनाने के लिए। आमतौर पर इसका उपयोग न करना ही बेहतर है A
या W
सिस्टम कॉल पर प्रत्यय. कंपाइलर आपकी प्रोजेक्ट सेटिंग्स के आधार पर सही संस्करण का चयन करेगा। यदि आपको मिश्रित वर्ण सेट का उपयोग करना है तो आप इसका उपयोग कर सकते हैं वाइडचार्टोमल्टीबाइट फ़ंक्शन (स्ट्रिंगपिसेट.एच) – Win32 ऐप्स | माइक्रोसॉफ्ट लर्न[^] रूपान्तरण करने के लिए UNICODE
को ASCII
.
[ad_2]
コメント