簡體   English   中英

Go中無法讀取utmpx文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM