पर मैंने अलग-अलग चीजों की कोशिश की लेकिन मैं इंटरऑप के साथ पागल हो रहा हूं।सी #+ को सी # स्ट्रिंग पास करें और सी ++ परिणाम (स्ट्रिंग, चार * .. जो भी हो) सी #
(यहां शब्द स्ट्रिंग को एक चरबी प्रकार के रूप में संदर्भित नहीं किया गया है लेकिन "char का संग्रह"): मेरे पास एक डीएनएल में परिभाषित एक अप्रबंधित सी ++ फ़ंक्शन है, जिसे मैं सी # से एक्सेस करने का प्रयास कर रहा हूं, यह फ़ंक्शन एक स्ट्रिंग पैरामीटर और स्ट्रिंग रिटर्न वैल्यू है:
string myFunction(string inputString)
{
}
सी ++ पक्ष में स्ट्रिंग क्या होनी चाहिए? और सी # एक? और इसके लिए किस पैरामीटर को DllImport की आवश्यकता है?
यह सही दृष्टिकोण है। ध्यान दें कि आपको संदर्भ द्वारा बफर आकार को पास करने की आवश्यकता नहीं है। सी/सी ++ स्ट्रिंग को समाप्त करना चाहिए, बफर। टॉस्ट्रिंग() वापसी मूल्य उत्पन्न करता है। –
उत्तर के लिए सभी को धन्यवाद। मैंने कहीं पढ़ा है कि स्ट्रिंगबिल्डर को आउटपुट स्ट्रिंग के लिए उपयोग किया जाता है, लेकिन मुझे इनपुट स्ट्रिंग को C++ फ़ंक्शन करने के लिए भी आवश्यकता है .. मुझे किस प्रकार का उपयोग करना चाहिए? सी ++ पक्ष में मैंने चार * और सी # साइड स्ट्रिंग डाली है, लेकिन यह काम नहीं करती है। अंत में, क्या मैं आउटपुट "स्ट्रिंग" (सी ++ पक्ष) को कॉन्स्ट चार * के रूप में परिभाषित कर सकता हूं? या मेरे पास एक char * होना चाहिए? – Smjert
@Smjert: एक कॉन्स char * का उपयोग करना एक अच्छा तरीका है यदि आप इसे बदल नहीं रहे हैं। यह सी # पक्ष पर एक स्ट्रिंग के लिए बस ठीक करना चाहिए। आप किस प्रकार की समस्याएं देख रहे हैं? –