0
Was ist Ihrer Meinung nach der beste Weg, um eine C.CString mit Länge x in CGO zu initialisieren? Hintergrund: Ich brauche einen char * einer geeigneten Größe für eine C-Funktion Parameter, aber ich nehme an folgenden Code verbessert werden kann:Wie initialisiert man leere C.CString in cgo
// length = 6
var buffer [6]byte
name := C.CString(string(buffer[:6]))
defer C.free(unsafe.Pointer(name))
oder
// length = 6
name := C.CString(" ")
defer C.free(unsafe.Pointer(name))
Das macht eigentlich Sinn, aber wie konvertiere ich es wieder zu einem Go-String am Ende? – netsplit
'newString: = C.GoString ((* .Char) (s)) es ist – netsplit
@netsplit: Ja, Sie konvertieren den Zeiger zu einem' * C.char', wenn Sie die Bytes zurück in a kopieren möchten Schnur gehen. – JimB