(在Linux 中)
我發現的所有方法都使用signal.
沒有其他辦法了嗎?有什么我可以做的讓終端把它放入輸入緩沖區嗎?
uj5u.com熱心網友回復:
為了“讀取 CTL C 作為輸入”而不是讓它生成一個SIGINT,有必要使用tcsetattr()來清除cc_c[VINTR]或清除ISIG我鏈接到的手冊頁中描述的標志,here。
您tcgetattr首先需要使用來讀取當前的終端設定,相應地調整它們,然后tcsetattr進行設定。
您應該確保在程式終止時將終端設定重置為其原始默認值,而 shell 不會為您將它們重置為默認值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363912.html
上一篇:sed用當前目錄替換路徑的一部分
