我期待將[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
。
任何幫助將不勝感激。