में कनवर्ट करें कोई भी जानता है कि BSTR को char * में कैसे परिवर्तित करें?बीएसटी को चार *
अद्यतन: मैंने ऐसा करने की कोशिश की, लेकिन यह नहीं पता कि यह सही है या गलत है।
char *p= _com_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p);
में कनवर्ट करें कोई भी जानता है कि BSTR को char * में कैसे परिवर्तित करें?बीएसटी को चार *
अद्यतन: मैंने ऐसा करने की कोशिश की, लेकिन यह नहीं पता कि यह सही है या गलत है।
char *p= _com_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p);
आपका कोड ठीक है। ConvertBSTRToString
बस यही करता है। strcpy
के लिए, को p
द्वारा इंगित स्ट्रिंग को पकड़ने के लिए पर्याप्त होने की आवश्यकता है। ध्यान दें कि कनवर्टबस्ट्रोस्ट्रिंग एक नई स्ट्रिंग आवंटित करने के बाद से आपको इसे लाइन के नीचे कहीं भी मुक्त करने की आवश्यकता होगी। हो जाने के बाद सुनिश्चित करें कि आप कार्य करें:
delete[] p;
हालांकि चेतावनियां के एक जोड़े (आप BSTR
documentation on MSDN से देख सकते हैं के रूप में):
- माइक्रोसॉफ्ट विंडोज़ पर, यूनिकोड वर्ण की एक स्ट्रिंग के होते हैं (चौड़ा या डबल बाइट वर्ण)।
- कई एम्बेडेड शून्य वर्ण हो सकते हैं।
तो, अपने strcpy
हमेशा आशा अनुरूप काम नहीं सकता है।