0
package main
/*
#define _GNU_SOURCE 1
#include <stdio.h>
#include <stdlib.h>
#include <utmpx.h>
#include <fcntl.h>
#include <unistd.h>
char *path_utmpx = _PATH_UTMPX;
typedef struct utmpx utmpx;
*/
import "C"
import (
"fmt"
"io/ioutil"
)
type Record C.utmpx
func main() {
path := C.GoString(C.path_utmpx)
content, err := ioutil.ReadFile(path)
handleError(err)
var records []Record
// now we have the bytes(content), the struct(Record/C.utmpx)
// how can I cast bytes to struct ?
}
func handleError(err error) {
if err != nil {
panic("bad")
}
}
我正在嘗試將content
轉換爲Record
我已經提出了一些相關問題。如何投入字節結構(C結構)在去?
Cannot access c variables in cgo
我看過一些文章和帖子,但仍然無法想出一個辦法做到這一點。
我知道這個回購,我已經讀過它。我只想嘗試一下。感謝您的回答。我得到了'undefined:utmp.ReadUtmp','undefined:utmp.UtmpxFile'。 –
我想等着看有沒有其他答案。 –
GZ薛,你運行了'go get github.com/ericlagergren/go-gnulib/utmp'來安裝utmp庫嗎? – Mark