cgo裡面,字元陣列的賦值

2021-10-08 18:20:07 字數 780 閱讀 1861

實際工作中,會碰到go呼叫c語言動態庫,涉及到陣列的賦值時,出現了問題,例如,c裡面定義了如下結構:

typedef

struct ana_process_frame_

ana_process_frame;

在go語言中,如果用以下方式對ana_process_frame裡面的byres賦值,則會出現編譯不過的情況。

pinputframe :=

new(c.ana_process_frame);c.

strcpy

(pinputframe.byres, c.

cstring

("/home/wyg/gaitanalyizetool/algorithmanagait/fanmian1.mp4"

))

這著實讓人費解,好在找到了下面這樣一種方式進行賦值,如下所示:

mystr :=

"/home/wyg/gaitanalyizetool/algorithmanagait/fanmian1.mp4"

arr :=

[128

]c.uchar

for i:=

0; i <

len(mystr)

&& i <

128; i++

pinputframe :=

new(c.ana_process_frame)

; pinputframe.byres = arr;

這樣就可以了。

字元陣列賦值

字元陣列操作需要用的函式有,strcpy,strcmp,strlen,strcpy 和 memcpy 區別 strcpy 函式使用方法 if 1 叫小屁孩空手去買東西 char p 0 無記憶體空間 記憶體位址 00000000 uint32 t pnum 0 無記憶體空間00000000 nrf ...

C字元陣列賦值

舉例如下 char a 10 1 定義的時候直接用字串賦值 char a 10 hello 注意 不能先定義再給它賦值,如 char a 10 a 10 hello 這樣是錯誤的!2 對陣列中字元逐個賦值 char a 10 3 利用strcpy char a 10 strcpy a,hello 易...

字串字元陣列的賦值

字元陣列的定義與初始化 char str 10 如果說提供的字元的個數大於陣列的長度,就按語法錯誤處理,如果小於陣列的長度,不夠的位置用空字元補全 0 字元陣列與字串 1 c 語言中將字串當做字元陣列來處理 字串的結束標誌是 0 而前面的所有字元組成字串,不算 0 2 對於字串常量的話,系統會自動在...