Почему путь превращается в китайские иероглифы?C#

Место общения программистов C#
Ответить
Anonymous
 Почему путь превращается в китайские иероглифы?

Сообщение Anonymous »

Я пишу проект на C++. Мне нужен был графический интерфейс, и я решил написать его на C# WPF.
Объясню смысл приложения: вам нужно загрузить dll-файл в редактор C#, чтобы можно было работать с этим позже. Я решил загрузить его через C++ LoadLibraryW. Следующий код делает это:

Код: Выделить всё

#ifndef EDITOR_INTERFACE
#define EDITOR_INTERFACE extern "C" __declspec(dllexport)
#endif
EDITOR_INTERFACE uint32_t LoadDll(const wchar_t* dll_path)
{
if (game_code_dll) return 0;

game_code_dll = LoadLibraryW(dll_path);
assert(game_code_dll);

if (game_code_dll != nullptr) return 1;
else return 0;
}
Затем я экспортировал эту функцию в код C#:

Код: Выделить всё

namespace Editor.DllWrappers
{
public static class Utilities
{
private const string _dllName = "EngineDLL.dll";

[DllImport(_engineDLLName, CharSet = CharSet.Unicode)]
public static extern int LoadDll(string dll_path);
}
}
По какой-то причине, когда я передаю путь и он переходит в код C++, он превращается в китайские символы.
Почему это происходит?< /п>

Подробнее здесь: https://stackoverflow.com/questions/786 ... characters
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»