首頁  >  文章  >  後端開發  >  如何從 Go 正確存取 `const char*` 字串的 C 陣列?

如何從 Go 正確存取 `const char*` 字串的 C 陣列?

DDD
DDD原創
2024-11-19 22:08:03910瀏覽

How to Correctly Access a C Array of `const char*` Strings from Go?

從Go 存取const char * 的C 陣列

您正在嘗試存取const char

您正在嘗試存取

const char

錯誤的方法

您目前的程式碼嘗試使用指標算術來做到這一點:

但是,這種方法是不正確的,因為它沿著字串的字元而不是向上索引大批。結果,您得到的是每個字串的前幾個字符,而不是整個字串。

正確的解決方案

要正確存取C 數組,它更安全且更安全首先將其轉換為Go 切片會更方便:

透過將C 陣列轉換為Go 切片,然後可以迭代其元素並使用C.GoString() 將每個元素轉換為Go 字串。

範例輸出

此方法可確保您從 C 陣列中取得整個字串,如下所示在以下範例輸出中可見:

以上是如何從 Go 正確存取 `const char*` 字串的 C 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn