में कनवर्ट करें मेरे पास vector<std::string>
चर है। मुझे इसे एक विधि पर पास करने की आवश्यकता है जो इनपुट पैरामीटर के रूप में char**
स्वीकार करता है।वेक्टर <string> को चार ** सी ++
यह कैसे करें? यदि संभव हो तो मुझे एक लिखने योग्य व्यक्ति को पास करने की आवश्यकता है।
अद्यतन 1: एक सेवा विधि बनाने के लिए एक उपकरण में, मैं std :: वेक्टर के रूप में मानकों को देते हैं, लेकिन यह अपने आप मेरी विधि उपकरण द्वारा उत्पन्न परिभाषा के रूप में दिखाई देगा जिसका अर्थ है & के रूप में क्वालीफायर, सेट:
std::string SvcImpl::myMethodname (const std::string par1, const std::vector< std::string >& par2, const std::vector<std::string>& par3)
{
}
इस विधि को स्वचालित रूप से पास किए गए पेटामीटर में मूल्यों के साथ बुलाया जाता है। अब से इस विधि के अंदर मैं जो की तरह दिखता है एक lib फ़ोल्डर में एक dll में एक विधि कॉल करने के लिए जा रहा हूँ:
int method_to_be_called(char* par1, char ** par2, char ** par3, void* pRetValue);
par1 के लिए
-> मैं गुजर रहा हूँ (चार *) par1.c_str()
मुझे पता होना चाहिए कि par2 और par3 और pRetValue के लिए चर कैसे पास करें। वेक्टर में par2 और par3 के लिए मान उपलब्ध हैं लेकिन अंतिम पैरामीटर pRetValue एक आउटपुट पैरामीटर है जिसे मुझे std :: string के रूप में वापस करने की आवश्यकता है।
क्षमा करें अगर मैं बहुत भ्रमित हूं या बहुत बुनियादी प्रश्न पूछ रहा हूं।
तो अपने ऑपरेशन, 'writable' पर * होना चाहिए संभालने ** लिखने योग्य अपने चार ** परम स्वीकार कर रहा है। –
मुझे लगता है कि आपको अपने सभी स्ट्रिंग डेटा के पते को स्टोर करने के लिए एक नया 'std :: vector 'बनाने की आवश्यकता होगी। –
Galik
इस विधि को आप वास्तव में क्या कर रहे हैं? – Wlerin