In Go erleichtert das CGO-Paket die Kommunikation zwischen Go und C-Code. Ein häufiges Szenario ist das Kopieren eines Go-Strings in einen C-Zeichenzeiger.
Um dies zu erreichen, muss die Funktion C.CString verwendet werden. Diese Funktion reserviert Speicher für den C-String und gibt einen Zeiger darauf zurück. Die Syntax lautet wie folgt:
cstr = C.CString(str)
wobei str der Go-String und cstr der C-Zeichenzeiger ist.
Es ist jedoch wichtig zu beachten, dass der von C.CString zugewiesene Speicher muss manuell freigegeben werden. Dazu können Sie den folgenden Befehl verwenden:
C.free(unsafe.Pointer(cstr))
wobei cstr der zuvor erstellte C-Char-Zeiger ist.
Das obige ist der detaillierte Inhalt vonWie kopiere ich mit CGO einen Go-String in einen C-Char-Zeiger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!