Heim > Backend-Entwicklung > Golang > Wie kopiere ich mit CGO einen Go-String in einen C-Char-Zeiger?

Wie kopiere ich mit CGO einen Go-String in einen C-Char-Zeiger?

Mary-Kate Olsen
Freigeben: 2024-12-04 12:26:07
Original
985 Leute haben es durchsucht

How Do I Copy a Go String to a C char Pointer Using CGO?

Kopieren eines Go-Strings in einen C-Zeichenzeiger in CGO

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)
Nach dem Login kopieren

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))
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage