前回は、ターミナルにとってはエスケープ(0x1b)から始まる一連の文字列には特別な意味があり、ターミナルが出力を受けるとそれに対応した機能を発動するということを説明した。今回は、このエスケースシーケンスを使ってどんな面白いことが実現されているのかを説明する。 kilo.cの320行目辺りに記述されているgetWindowSize()という関数を見てほしい。 ターミナルのサイズを取得するgetWindowSize()という関数 /* Try to get the number of columns in the current terminal. If the ioctl() * call fails the function will try to query the terminal itself. * Returns 0 on success, -1 on error. */ int
![C言語1000行以下のエディタ「Kilo」を理解する (6) エスケープシーケンスでターミナルサイズを取得 | マイナビニュース](https://cdn-ak-scissors.b.st-hatena.com/image/square/a0e5fe6beb6ca9abbac7f9766238c4a483934464/height=288;version=1;width=512/https%3A%2F%2Fnews.mynavi.jp%2Ftechplus%2Farticle%2Fkilo-6%2Findex_images%2Findex.jpg)