2012-04-21 17 views

答えて

5

s := make([]byte, 256) 
C.fooGetString((*C.char)(unsafe.Pointer(&s[0])), C.int(len(s))) 
+1

この答えは間違っています。 –

+0

元々ここにコメントするのを忘れていましたが、正解とマークされているので、この回答が正しいように更新しました。 –

5
package main 

// #include <string.h> 
// void foo(char *s, int len) { 
//  strncpy(s, "foo", len); 
// } 
import "C" 

import "fmt" 
import "unsafe" 

func main() { 
    buf := make([]byte, 256) 
    C.foo((*C.char)(unsafe.Pointer(&buf[0])), C.int(len(buf))) 
    fmt.Println(string(buf)) 
} 

出力:

foo 
関連する問題