0

次のコード スニペットを参照してください。その行番号を参照します。

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 ループが私がいる数値よりもはるかに大きいと解釈しているために発生していると思われますキーボードを押します。どうすればそれをintに変えることができるかについての助けをいただければ幸いです。

4

1 に答える 1