Hvordan læser jeg en char* fra en C++ DLL?
Jeg har en dll i c++, der returnerer en streng, men når jeg læser den i c# får jeg blot nogle firkanter ud og et k.Min kode i c++:
extern "C" DLL_API char* CALL_CONV test(void){
return("helloworld");
}
Min kode i c#:
[DllImport("TheDll", CharSet = CharSet.Auto)]
private static extern string test();
Jeg gik ud fra at det var fordi c# ikke kunne finde ud af det fordi det er en pointer. Derfor prøvede jeg System.String og System.Text.StringBuilder, men det gav samme resultat.
Nogle gode forslag?