Я не мог придумать лучшего названия, так что вот оно. Я пытаюсь выяснить, каким был бы наилучший (в случае эффективности и чистоты кода) доступ к методам из stdlib of C. Основанием для этого является то, что я пытаюсь получить функциональность mbstowcs в программе Java. Прямо сейчас в моем коде C я получил это:
const char* source = "D:\\test3\\source\\test.txt";
SName tmp1;
mbstowcs((wchar_t*)tmp1, source, 32 - 1);
Где SName
равно typedef unsigned short SName[32]
. Позже в качестве входного аргумента используется код tmp1
:
status = copyFilePath(tmp1, tmp2, info, &context);
Что я по сути пытаюсь сделать, это назвать это copyFilePath
со стороны Java с использованием JNA. Хитрость в том, что мне нужно получить аналогичное преобразование для mbstowcs C в Java-программе, чтобы позже я мог напрямую вызывать эту функцию без какой-либо дополнительной обработки. На данный момент мне кажется, что мне понадобится дополнительный код C для использования JNI, чтобы я мог получить оболочку для mbstowcs из stdlib.
Вопрос также заключается в том, есть ли у Java аналогичные способы преобразования многобайтовой строки в строку широких символов, как в C / C ++, чтобы все это работало?