【发布时间】:2016-04-28 16:19:31
【问题描述】:
我正在尝试使用 CGO 和 windows c 标头设置 Windows 命令提示符的标题:
// #include <windows.h>
import "C"
import "unsafe"
func Title(title string) {
ctitle := C.CString(title)
defer C.free(unsafe.Pointer(ctitle))
C.SetConsoleTitle(ctitle)
}
但是在编译的时候,出现如下错误:
cannot use ctitle (type *C.char) as type *C.CHAR in argument to _Cfunc_SetConsoleTitle
似乎C.SetConsoleTitle(ctitle) 期待*C.CHAR 类型的字符串,但C.CString(title) 返回*C.char
我应该如何将字符串转换为预期的类型?
【问题讨论】:
-
尝试将
C.SetConsoleTitle(ctitle)改为C.SetConsoleTitle(title.c_str()) -
@LPs 这似乎不可能
title.c_str undefined (type string has no field or method c_str)无论如何谢谢:)
标签: c windows go c-strings cgo