我明白這個CON名字/dev/tty在Linux中是等價的。但是當我使用一個寫入這個文件的程序時,它不會打印任何東西,它只適用于 Linux。我想我沒有正確使用它。重要提示:我不是在尋找解決方法fmt.Println,我需要能夠打印到這個文件,就像我在 Linux ( /dev/tty) 中所做的那樣。這是程序:package mainimport ( "fmt" "os" "runtime")func main() { var ttyName string if runtime.GOOS == "windows" { fmt.Println("*** Using `con`") ttyName = "con" } else { fmt.Println("*** Using `/dev/tty`") ttyName = "/dev/tty" } f, _ := os.OpenFile(ttyName, os.O_WRONLY, 0644) fmt.Fprintln(f, "*** Stdout redirected")} 該程序 "*** Stdout redirected"在 Linux 中打印,但在 Windows 中不打印。該問題與ttyName.我用作con名稱,但似乎它不起作用。我也試過: "con:", "\\\\.\\con", "\\\\.\\con:", "\\\\?\\con", 和conout.如何使用它打印到控制臺?我從這個網站上獲得了一些想法:https ://www.mkssoftware.com/docs/man5/dev_console.5.asp
1 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
確保您使用 Windows 命令提示符對此進行測試,CON因為使用 3rd 方終端仿真器(如 IDE、Hyper.js 等中的嵌入式仿真器)可能無法正常工作。
您列出的選項應該可以工作,大寫的CON(舊版 DOS 名稱)或\\.\CON(UNC 名稱)是安全的賭注:
f, _ := os.OpenFile("CON", os.O_WRONLY, 0644)
f, _ := os.OpenFile("\\\\.\\CON", os.O_WRONLY, 0644)
- 1 回答
- 0 關注
- 98 瀏覽
添加回答
舉報
0/150
提交
取消