2013-11-28 38 views
0

請參考下面的代碼片段,我將提及的行號就可以了:MINIX 3 TTY輸入字符爲int

https://gist.github.com/wilbertcr/474c6a13e377dc8ce51a

正如你可以在網上看到172-200,我創建原始back_over函數的修改版本,它只是移動指針而不擦除正在移動的字符。

在函數in_process之外,作爲一個全局變量,我創建了int verase,參見第1行,我在第82行使用它表示CTRL + H已被按下(ch == tp-> tty_termios.c_cc [ VERASED])。

我的想法是使用它作爲標記,以便我可以捕獲下一個字符,該字符應該是我需要back_over的空間數,然後通過調用back_over指定該下一個字符指定的次數來執行此操作。

我遇到的問題是我不知道如何將下一個字符轉換爲相應的int,以便我可以在for循環中使用它。第27-38行顯示了一個失敗的嘗試,但是,無論我按下的鍵多小(我試過1和2和3),它總是把我帶到行的開頭(幸運的是,back_over沒有超越換行 - 見185行)。

似乎for循環正在執行比它應該更多,我懷疑是因爲「數字」不是真正的1或2或3而是別的東西,for循環被解釋爲比我在鍵盤上按下的數字。我將不勝感激一些幫助,我怎樣才能把它變成一個整數。

回答

0

原來,這只是一個做的事:

ch=ch-'0'

相關問題