我想不出更好的标题,所以就在这里。我试图找出从 C 的 stdlib 访问方法的最佳方式(在效率和干净的代码明智的情况下)。 背景是我试图在 Java 程序中获得mbstowcs的功能。现在在我的 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使用 JNA 从 Java 端调用它。诀窍是我需要在 Java 程序中对 C 的 mbstowcs 进行类似的转换,以便稍后我可以直接调用此函数而无需任何额外处理。现在在我看来,在使用 JNI 时我需要额外的 C 代码,以便我可以从 stdlib 获得 mbstowcs 的包装器。
问题还在于,Java 是否有任何类似的方法可以像在 C/C++ 中一样将多字节字符串转换为宽字符串以使其全部解决?
白猪掌柜的
隔江千里
相关分类