第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)閉終端中的回顯 - Golang

關(guān)閉終端中的回顯 - Golang

Go
幕布斯7119047 2023-03-29 17:21:29
我正在嘗試關(guān)閉終端中的回聲,在 Golang 中,代碼:func main() {        STDINFILE := os.Stdin    STDINFILENO := 0    raw, err := unix.IoctlGetTermios(STDINFILENO, unix.TCGETA)    if err != nil {        panic(err)    }    rawState := *raw    rawState.Lflag &^= unix.ECHO    err = unix.IoctlSetTermios(STDINFILENO, unix.TCSAFLUSH, &rawState)    if err != nil {        panic(err)    }    var charValue byte    reader := bufio.NewReader(STDINFILE)        for {        var err error        // read one byte        charValue, err = reader.ReadByte()        if err != nil {            if err == io.EOF {                fmt.Println("END OF FILE")            }        }        // press q to quit.        if charValue == 'q' {            os.Exit(0)        }    }}但它沒有按預(yù)期工作我仍然能夠看到回聲值,我做錯(cuò)了什么,有人可以指出我或指導(dǎo)我嗎?
查看完整描述

1 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

問題在于tcsetattr - parameters?err = unix.IoctlSetTermios(STDINFILENO, unix.TCSAFLUSH, &rawState)

用行動(dòng)TCSAFLUSH,

文檔建議:

TCSADRAIN Make the change after waiting until all queued output has been written. You should usually use this option when changing parameters that affect output. TCSAFLUSH This is like TCSADRAIN, but also discards any queued input.

所以termios在上面的例子中是將字符發(fā)送回左邊(“主”pty),ECHO在這種情況下直到輸出被寫入shell(“從”pty)才關(guān)閉。

將動(dòng)作更改為TCSANOW - the change shall occur immediately?立即關(guān)閉回聲。


查看完整回答
反對(duì) 回復(fù) 2023-03-29
  • 1 回答
  • 0 關(guān)注
  • 266 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)