亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

寫入 CON(Windows 控制臺)不會打印到 STDOUT(控制臺)

寫入 CON(Windows 控制臺)不會打印到 STDOUT(控制臺)

Go
一只名叫tom的貓 2022-06-27 15:24:34
我明白這個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)


查看完整回答
反對 回復 2022-06-27
  • 1 回答
  • 0 關注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號