[英]Can not read utmpx file in go
package main
import (
"os"
"fmt"
)
func main() {
fd, err := os.Open("/var/run/utmpx")
fmt.Println(fd, err)
var data []byte
len, err := fd.Read(data)
fmt.Println(len, err)
}
&{0xc42000a240}無
0無
沒有錯誤,也沒有數據。
從系統頭文件讀取此路徑/var/run/utmpx
。
如何走這條路是另一個問題
系統:macOS el capiton,go版本go1.8 darwin / amd64
**我的最終目標是將該文件讀入結構體中。**此文件包含系統用戶信息。
我可以那樣做嗎? 我會繼續嘗試...
您可以為此使用ioutil.ReadFile
函數:
package main
import (
"fmt"
"io/ioutil"
)
func main() {
fd, err := ioutil.ReadFile("/var/run/utmpx")
fmt.Println(string(fd), err)
}
在原始代碼的問題是,你讀入data
是0字節長。 由於reader接口只讀取最多len(data)
,因此不讀取任何內容。 有關更多信息: https : //golang.org/pkg/io/#Reader
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.