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

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

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

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

などなどです。

LinuxでUTF-8 1文字入力

WindowsでCのプログラミングを経験した人がUNIX系のシステムでプログラミングをするときに
最初に抱く疑問としてよく聞くものが1つがあります。
 
ユーザーがReturnキーを押すまで端末から入力を得る方法がない

ということです。
具体的にはLinuxなどのCライブラリでは
getch() … エコーバック無しで直ちに1文字分の入力を受ける

関数が使えません。

LinuxでLINEにアクセス

賛否両論あるようですが、
LINEはスマートフォン世代の事実上の標準的な
インスタントメッセンジャーとなりました。

しかし、LINE公式では
Android , iOS
Windows, OS X
向けのバイナリしか配布られておらず、Linux向けのものは
ありません。

方法としてWineを利用してWindows版のLINEを動かすという
手段がありますが、残念ながら日本語入力に何があったり、
適切な設定でなければ頻繁に落ちてしまい、使用感がよくありません。

ということで今回は何とかしてLinuxでまともにLINEを使おうという試みです