ログイン
kid's world

一文字だけ受け取る

一文字だけ受け取る

それでは,1文字だけ受け取る方法について解説していく。

getchar関数

char型と関数のイメージがつかめたところで,文字をキーボードから受け取るための方法について解説する。

キーボードから入力された文字を1文字得る関数に,getchar関数がある。getchar関数は,引数をとらずにint型を返す関数である。

getchar関数は,キーボードから入力された文字を1文字受け取るための関数なのだが,戻り値がchar型ではなくint型となっている。これにはわけがあるが,まだここでは詳しくは述べない。これまで説明してきたように,コンピュータでは文字は数値として表現されている。getchar関数は入力された文字を数値として返すので,それをそのままchar型の変数に代入すればよい。

では実際に,getchar関数を使ってみよう。List 5は,文字の入力を受け付けるもっとも簡単な例である。入力された文字を再度表示し,その文字コード(数値)を表示する。ちなみにprintf関数で「%X」という変換文字を使っているが,これを使うと数値を16進数で表示することができる。

List 5:入力された文字とコードを表示する例

#include <stdio.h>

main()
{
  char c;
  
  c=getchar();
  printf("文字:%c コード:%X",c,c);
}

さっそく,List 5を実行してみよう。何も表示されないまま黙り込んでしまう。ここで,キーボードのキーを1つたたいてみよう。……それでも黙り込んだままだ。べつにコンピュータがストライキを起こしているわけではない。ここで,Enterキー(またはReturnキー)を押してみよう。すると,プログラムは終了する。私はKを押したので,Fig. 2のような結果となった。この16進数のコードが,Table 1の表と合っていることを確認しよう。

Fig. 2: List 5の実行例

K                      ……入力した文字
文字:K コード:4B

入力バッファ」へ進む

広告


©Toshio Koide 1996-2007.

目次

リンクについて

リンクは御自由にどうぞ。

メール

mail.gif

広告