在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/GO/ 關(guān)于Go語言無法重定向標(biāo)準(zhǔn)輸入流問題

關(guān)于Go語言無法重定向標(biāo)準(zhǔn)輸入流問題

在學(xué)習(xí)Go語言的時候,發(fā)現(xiàn)只能重定向標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)錯誤流,沒法重復(fù)標(biāo)準(zhǔn)輸入流,不知道是代碼問題,還是Go本身問題(猜測),代碼如下:

package main

import (
    "fmt"
    "os"
    "syscall"
)

func main() {

    var (
        firstName, lastName string;
    )

    fmt.Println("Go Process START")

    ioRedirect("/Path/To/File/stdin.dat")

    fmt.Scanln(&firstName, &lastName)

    fmt.Println(firstName + " " + lastName)

    fmt.Println("Go Process END")
}

func ioRedirect(file string) {
    f, e := os.OpenFile(file, os.O_WRONLY|os.O_CREATE|os.O_SYNC, 0755)
    if e == nil {
        fd := f.Fd()
        syscall.Dup2(int(fd), int(os.Stdin.Fd()))
    }

    if e != nil {
        fmt.Println(e.Error());
    }
}

不知道有沒有朋友遇到相同的問題。

回答
編輯回答
撥弦

這個問題是因為文件打開了只寫模式。

2017年9月15日 18:10