我期待将[32]C.wchar_t
转换为去字符串。GoLang转换C.wchar_t去字符串
阵列被定义为dll
如下我说于:
typedef struct myStruct {
WCHAR someString[32];
}
我定义中去该结构如下:
type myStruct struct {
someString [32]C.wchar_t
}
我在dll
的方法:
DLLINTERFACE HRESULT __stdcall GetMyStruct (myStruct* ptrMyStruct);
该方法将填充someString
字段myStruct
。
我打电话,像这样的方法(这是正常工作,我想,我一直没能看到someString
内容):
func getMyStruct() (*myStruct, uintptr) {
var getMyStruct = dll.MustFindProc("GetMyStruct")
var args = new(myStruct)
ret, _, _ := getMyStruct .Call(uintptr(unsafe.Pointer(args)))
fmt.Printf("Return: %d\n", (int)(ret))
return args, ret
}
我需要someString
转换为去串。我曾尝试使用"github.com/GeertJohan/cgo.wchar"
,但它没有将[]C.whar_t
转换为字符串的方法。
目前我不确定我的结构是否正确。我也不确定在将它发送到dll之前是否正确初始化myStruct
。
任何帮助将不胜感激。