ファイヤープロジェクト
CRを何とかしたい
2003-07-20T15:13+09:00   matsu
処理によっては普通にgetcharするとCRを読み込んじゃって困ることがあるかもしれない.
getcharとかで入力を取得する方法だと,ユーザは端末でいろいろ編集したりしてからリターンを押すことができる.これをカノニカルモードという.逆に入力文字を即座にアプリケーションが取得していろいろするのを非カノニカルモードという.で,カノニカルモードだと,リターンを押さないと入力がアプリケーションに伝わらないので,リターンキーを押すのだが,このとき,アプリケーションではリターンキーの割り込み文字CRLF(キャリッジリターンとラインフィード)がCRに変換されて渡される.aと入力してもaCRが渡される.
aと入力してもaCRが渡されるのだから,以下のソースはまずい.
こいつをコンパイルして実行すると,以下のようになる.
a
input = a
input = 

b
input = b
input = 

q
input = q
確かにCRが渡っているようだ.で,これを直したい.つまりこんな結果にしたい.
a
input = a
b
input = b
q
input = q
で,こうしてみた.
getcharをループで回しただけでした.
matsu(C)
Since 2002
Mail to matsu