イリッフィベクタの怪

昨日、本棚の整理などをしていると、かなり前に気に入っていた
C言語関連の技術書を"再発見"しました。

懐かしくて中をめくると、当時書いたと思われるメモの切れ端が
いくつか出てきました。その中の1枚に関して、かなり問題のある
メモを発見しましたので ここに書いておきます。
2016年現在 このことを指摘したページが発見できませんでした。

それが"イリッフィベクタ" なるデータ構造についです。

C言語で編集可能な1行入力

C言語によらず、対話的なプログラムなどでは
一行分の入力を受付けて、それを処理することがよくあります。

ただ、C言語で1行の入力を行うとたまに困った現象が発生します。
例えば

  • 入力中に文字を挿入しようと無意識にカーソルキーを触ってしまい~]]D などエスケープな文字を出してしまう
  • 入力用バッファの長さが固定なので無駄にバッファサイズを大きめに決めなければならない

などなどです。