2 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
傳統(tǒng)的Unix Console和DOS/Windows Console并不一樣。從串口終端發(fā)展下來的這一系Terminal從接口上說是一個(gè)純粹的“流”,因此它本身并沒有定位屏幕位置的能力。(最初的Terminal是打字機(jī),而不是視頻終端)
因此大部分的終端使用Escape Sequence,也就是一些特殊的不可見字符序列來傳遞光標(biāo)定位、文字擦除、顯示顏色等特殊的指令。其中普及最廣的標(biāo)準(zhǔn)應(yīng)該是ANSI Escape Sequence。
具體到NCurses,NCurses應(yīng)該使用了類似于Terminfo/Termcap的數(shù)據(jù)庫來消化不同終端的不同。這些數(shù)據(jù)庫保存了各種終端的指令支持狀況,以及對(duì)應(yīng)這些指令的Escape Sequence。
而在于具體實(shí)現(xiàn),在Windows Console Host之類終端模型完全不同的環(huán)境里也許會(huì)比較特殊,但在支持Terminal的Unix類系統(tǒng)上應(yīng)該是差別不大的。
添加回答
舉報(bào)