У меня есть библиотека C ++, в которой есть функция, которая возвращает строку ac, и у меня есть программа на C #, которая вызывает эту функцию и возвращает данные в строку C #.Вот что я имею в виду
__declspec(dllexport) const char* function (const char* str) {
std::string stdString( str );
std::cout << stdString.c_str() << std::endl; // this prints fine, no data loss
return stdString.c_str();
}
А вот код C #
[DllImport("MyDLL.dll")]
public static extern string function(string data);
string blah = function("blah");
Console.WriteLine(blah); // doesn't print anything...
Когда я смотрю на местных жителей, он говорит, что переменная "бла" равна "".
Что случилось с данными?