我明白这个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 关注
- 83 浏览
添加回答
举报
0/150
提交
取消